From 4ca59ab261859acd42381ef8c6f181244add9c5d Mon Sep 17 00:00:00 2001 From: Marina Yatsina Date: Thu, 20 Aug 2015 11:51:24 +0000 Subject: [PATCH] [X86] Fix FBLD and FBSTP FBLD and FBSTP should receive TBYTE because it is defined as FBLD m80 FBSTP m80 Differential Revision: http://reviews.llvm.org/D11748 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245553 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrFPStack.td | 4 ++-- test/MC/X86/intel-syntax.s | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/Target/X86/X86InstrFPStack.td b/lib/Target/X86/X86InstrFPStack.td index 49068e9c37d..c2fe39c952e 100644 --- a/lib/Target/X86/X86InstrFPStack.td +++ b/lib/Target/X86/X86InstrFPStack.td @@ -311,8 +311,8 @@ def FNSTSWm : FPI<0xDD, MRM7m, (outs f32mem:$dst), (ins), "fnstsw\t$dst">; def FICOM16m : FPI<0xDE, MRM2m, (outs), (ins i16mem:$src), "ficom{s}\t$src">; def FICOMP16m: FPI<0xDE, MRM3m, (outs), (ins i16mem:$src), "ficomp{s}\t$src">; -def FBLDm : FPI<0xDF, MRM4m, (outs), (ins f32mem:$src), "fbld\t$src">; -def FBSTPm : FPI<0xDF, MRM6m, (outs f32mem:$dst), (ins), "fbstp\t$dst">; +def FBLDm : FPI<0xDF, MRM4m, (outs), (ins f80mem:$src), "fbld\t$src">; +def FBSTPm : FPI<0xDF, MRM6m, (outs f80mem:$dst), (ins), "fbstp\t$dst">; // Floating point cmovs. class FpIf32CMov pattern> : diff --git a/test/MC/X86/intel-syntax.s b/test/MC/X86/intel-syntax.s index c3cdb013571..95527b0eff2 100644 --- a/test/MC/X86/intel-syntax.s +++ b/test/MC/X86/intel-syntax.s @@ -714,3 +714,8 @@ vcomiss xmm0, DWORD PTR [eax] // CHECK: comiss (%eax), %xmm0 // CHECK: vcomisd (%eax), %xmm0 // CHECK: vcomiss (%eax), %xmm0 + +fbld tbyte ptr [eax] +fbstp tbyte ptr [eax] +// CHECK: fbld (%eax) +// CHECK: fbstp (%eax) -- 2.34.1