llvm-6502/test/CodeGen/X86/x86-64-dead-stack-adjust.ll
Craig Topper f564a9389d Fix suffix handling for parsing and printing of cvtsi2ss, cvtsi2sd, cvtss2si, cvttss2si, cvtsd2si, and cvttsd2si to match gas behavior.
cvtsi2* should parse with an 'l' or 'q' suffix or no suffix at all. No suffix should be treated the same as 'l' suffix. Printing should always print a suffix. Previously we didn't parse or print an 'l' suffix.
cvtt*2si/cvt*2si should parse with an 'l' or 'q' suffix or not suffix at all. No suffix should use the destination register size to choose encoding. Printing should not print a suffix.

Original 'l' suffix issue with cvtsi2* pointed out by Michael Kuperstein.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171668 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-06 20:39:29 +00:00

13 lines
467 B
LLVM

; RUN: llc < %s -mcpu=nehalem | not grep rsp
; RUN: llc < %s -mcpu=nehalem | grep cvttsd2si
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-apple-darwin8"
define double @a(double %b) nounwind {
entry:
%tmp12 = fptoui double %b to i32 ; <i32> [#uses=1]
%tmp123 = uitofp i32 %tmp12 to double ; <double> [#uses=1]
ret double %tmp123
}