|
@@ -101,6 +101,13 @@ my $bnelr = sub {
|
|
|
" .long ".sprintf "0x%x",19<<26|$bo<<21|2<<16|16<<1 :
|
|
|
" bclr $bo,2";
|
|
|
};
|
|
|
+my $beqlr = sub {
|
|
|
+ my $f = shift;
|
|
|
+ my $bo = $f=~/-/ ? 12+2 : 12; # optional "not to be taken" hint
|
|
|
+ ($flavour =~ /linux/) ? # GNU as doesn't allow most recent hints
|
|
|
+ " .long ".sprintf "0x%X",19<<26|$bo<<21|2<<16|16<<1 :
|
|
|
+ " bclr $bo,2";
|
|
|
+};
|
|
|
# GNU assembler can't handle extrdi rA,rS,16,48, or when sum of last two
|
|
|
# arguments is 64, with "operand out of range" error.
|
|
|
my $extrdi = sub {
|