[X86] Remove support for accepting 'fnstsw %eax' and 'fnstsw %al'.

I assume this was done because gas accepted it at one point, but current versions of gas don't.

llvm-svn: 331154
This commit is contained in:
Craig Topper 2018-04-30 01:53:12 +00:00
parent b2bf3da152
commit 64e7a16fe4
3 changed files with 1 additions and 12 deletions

View File

@ -3151,10 +3151,7 @@ def : InstAlias<"fsub{r|}p\t{%st(0), $op|$op, st(0)}", (SUB_FPrST0 RST:$op)>;
def : InstAlias<"fdiv{|r}p\t{%st(0), $op|$op, st(0)}", (DIVR_FPrST0 RST:$op)>;
def : InstAlias<"fdiv{r|}p\t{%st(0), $op|$op, st(0)}", (DIV_FPrST0 RST:$op)>;
// We accept "fnstsw %eax" even though it only writes %ax.
def : InstAlias<"fnstsw\t{%eax|eax}", (FNSTSW16r)>;
def : InstAlias<"fnstsw\t{%al|al}" , (FNSTSW16r)>;
def : InstAlias<"fnstsw" , (FNSTSW16r)>;
def : InstAlias<"fnstsw" , (FNSTSW16r), 0>;
// lcall and ljmp aliases. This seems to be an odd mapping in 64-bit mode, but
// this is compatible with what GAS does.

View File

@ -549,15 +549,11 @@ test [ECX], AX
test AL, [ECX]
test [ECX], AL
// CHECK: fnstsw %ax
// CHECK: fnstsw %ax
// CHECK: fnstsw %ax
// CHECK: fnstsw %ax
// CHECK: fnstsw (%eax)
fnstsw
fnstsw AX
fnstsw EAX
fnstsw AL
fnstsw WORD PTR [EAX]
// CHECK: faddp %st(1)

View File

@ -338,15 +338,11 @@ fucomi
fucomi %st(2)
fucomi %st(2), %st
// CHECK: fnstsw %ax
// CHECK: fnstsw %ax
// CHECK: fnstsw %ax
// CHECK: fnstsw %ax
fnstsw
fnstsw %ax
fnstsw %eax
fnstsw %al
// rdar://8431880
// CHECK: rclb %bl