forked from OSchip/llvm-project
[X86] Allow any 8-bit immediate to be used with bt/btc/btr/bts memory aliases.
We have aliases that disambiguate memory forms of bt/btc/btr/bts without suffixes to the 32-bit form. These aliases should have been updated when the instructions were updated in r356413. llvm-svn: 368127
This commit is contained in:
parent
624980037d
commit
f192cc587c
|
@ -3219,13 +3219,13 @@ def : InstAlias<"aam", (AAM8i8 10)>, Requires<[Not64BitMode]>;
|
|||
// Disambiguate the mem/imm form of bt-without-a-suffix as btl.
|
||||
// Likewise for btc/btr/bts.
|
||||
def : InstAlias<"bt\t{$imm, $mem|$mem, $imm}",
|
||||
(BT32mi8 i32mem:$mem, i32i8imm:$imm), 0, "att">;
|
||||
(BT32mi8 i32mem:$mem, i32u8imm:$imm), 0, "att">;
|
||||
def : InstAlias<"btc\t{$imm, $mem|$mem, $imm}",
|
||||
(BTC32mi8 i32mem:$mem, i32i8imm:$imm), 0, "att">;
|
||||
(BTC32mi8 i32mem:$mem, i32u8imm:$imm), 0, "att">;
|
||||
def : InstAlias<"btr\t{$imm, $mem|$mem, $imm}",
|
||||
(BTR32mi8 i32mem:$mem, i32i8imm:$imm), 0, "att">;
|
||||
(BTR32mi8 i32mem:$mem, i32u8imm:$imm), 0, "att">;
|
||||
def : InstAlias<"bts\t{$imm, $mem|$mem, $imm}",
|
||||
(BTS32mi8 i32mem:$mem, i32i8imm:$imm), 0, "att">;
|
||||
(BTS32mi8 i32mem:$mem, i32u8imm:$imm), 0, "att">;
|
||||
|
||||
// clr aliases.
|
||||
def : InstAlias<"clr{b}\t$reg", (XOR8rr GR8 :$reg, GR8 :$reg), 0>;
|
||||
|
|
|
@ -10576,15 +10576,19 @@ blendvps %xmm0, (%eax), %xmm1
|
|||
// CHECK: btcw $4, (%eax)
|
||||
// CHECK: btcl $4, (%eax)
|
||||
bt $4, (%eax)
|
||||
bt $255, (%eax)
|
||||
btw $4, (%eax)
|
||||
btl $4, (%eax)
|
||||
bts $4, (%eax)
|
||||
bts $255, (%eax)
|
||||
btsw $4, (%eax)
|
||||
btsl $4, (%eax)
|
||||
btr $4, (%eax)
|
||||
btr $255, (%eax)
|
||||
btrw $4, (%eax)
|
||||
btrl $4, (%eax)
|
||||
btc $4, (%eax)
|
||||
btc $255, (%eax)
|
||||
btcw $4, (%eax)
|
||||
btcl $4, (%eax)
|
||||
|
||||
|
|
Loading…
Reference in New Issue