
When the floating point constants are whole numbers they have no decimal point so look like integers, but mean something very different in something like an 'and' instruction. Ideally we would just print a decimal point and a 0, but I couldn't see how to make APFloat::toString do that. llvm-svn: 345488
16 lines
602 B
LLVM
16 lines
602 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx | FileCheck %s
|
|
; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx | FileCheck %s
|
|
|
|
; Check that constant integers are correctly being truncated before float conversion
|
|
|
|
define <4 x float> @test1() {
|
|
; CHECK-LABEL: test1:
|
|
; CHECK: # %bb.0:
|
|
; CHECK-NEXT: vmovaps {{.*#+}} xmm0 = [-1.0E+0,0.0E+0,-1.0E+0,0.0E+0]
|
|
; CHECK-NEXT: ret{{[l|q]}}
|
|
%1 = trunc <4 x i3> <i3 -1, i3 -22, i3 7, i3 8> to <4 x i1>
|
|
%2 = sitofp <4 x i1> %1 to <4 x float>
|
|
ret <4 x float> %2
|
|
}
|