mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
Change all floating constants that are not exactly
representable to use hex format. llvm-svn: 41722
This commit is contained in:
parent
a1061872a7
commit
f9ca7b6094
@ -6,6 +6,6 @@ implementation
|
||||
|
||||
float "test"()
|
||||
begin
|
||||
%tmp = mul float 1.0e100, 1.0e1
|
||||
%tmp = mul float 0x7FF0000000000000, 1.0e1
|
||||
ret float %tmp
|
||||
end
|
||||
|
@ -3,7 +3,7 @@
|
||||
define void @foo(<8 x float>* %f, <8 x float>* %g, <4 x i64>* %y)
|
||||
{
|
||||
%h = load <8 x float>* %f
|
||||
%i = mul <8 x float> %h, <float 1.1, float 3.3, float 4.4, float 5.4, float 0.5, float 0.6, float 0.7, float 0.8>
|
||||
%i = mul <8 x float> %h, <float 0x3FF19999A0000000, float 0x400A666660000000, float 0x40119999A0000000, float 0x40159999A0000000, float 0.5, float 0x3FE3333340000000, float 0x3FE6666660000000, float 0x3FE99999A0000000>
|
||||
%m = bitcast <8 x float> %i to <4 x i64>
|
||||
%z = load <4 x i64>* %y
|
||||
%n = mul <4 x i64> %z, %m
|
||||
|
@ -38,9 +38,9 @@ float %test6(float %F) {
|
||||
}
|
||||
|
||||
int %main(int %argc, sbyte** %argv) {
|
||||
%a = call int %test1(float 3.1415926)
|
||||
%a = call int %test1(float 0x400921FB40000000)
|
||||
%b = call float %test2(int %a)
|
||||
%c = call long %test3(double 3.1415926)
|
||||
%c = call long %test3(double 0x400921FB4D12D84A)
|
||||
%d = call double %test4(long %c)
|
||||
%e = call double %test5(double 7.0)
|
||||
%f = call float %test6(float 7.0)
|
||||
|
@ -20,7 +20,7 @@ bb1:
|
||||
%z1 = add float %x1, %y1 ;; z1 = x1 + y1
|
||||
|
||||
%x2 = mul float %x, 0.5 ;; x2
|
||||
%y2 = mul float %y, 0.9 ;; y2
|
||||
%y2 = mul float %y, 0x3FECCCCCC0000000 ;; y2
|
||||
%z2 = add float %x2, %y2 ;; z2 = x2 + y2
|
||||
|
||||
%z3 = add float %z1, %z2 ;; z3 = z1 + z2
|
||||
|
@ -21,14 +21,14 @@ begin
|
||||
%ArrayB = alloca %MixedB, uint 3
|
||||
|
||||
%I1 = getelementptr %MixedA* %ScalarA, long 0, uint 0
|
||||
store float 1.4142, float *%I1
|
||||
store float 0x3FF6A09020000000, float *%I1
|
||||
%I2 = getelementptr %MixedB* %ScalarB, long 0, uint 1, uint 0
|
||||
store float 2.7183, float *%I2
|
||||
store float 0x4005BF1420000000, float *%I2
|
||||
|
||||
%fptrA = getelementptr %MixedA* %ArrayA, long 1, uint 0
|
||||
%fptrB = getelementptr %MixedB* %ArrayB, long 2, uint 1, uint 0
|
||||
|
||||
store float 3.1415, float* %fptrA
|
||||
store float 0x400921CAC0000000, float* %fptrA
|
||||
store float 5.0, float* %fptrB
|
||||
|
||||
;; Test that a sequence of GEPs with constant indices are folded right
|
||||
|
@ -13,7 +13,7 @@ bb1:
|
||||
%z1 = add float %x1, %y1 ;; z1 = x1 + y1
|
||||
|
||||
%x2 = mul float %x, 0.5 ;; x2
|
||||
%y2 = mul float %y, 0.9 ;; y2
|
||||
%y2 = mul float %y, 0x3FECCCCCC0000000 ;; y2
|
||||
%z2 = add float %x2, %y2 ;; z2 = x2 + y2
|
||||
|
||||
%z3 = add float %z1, %z2 ;; z3 = z1 + z2
|
||||
|
@ -15,7 +15,7 @@ begin
|
||||
%i = add int %N, 12345678 ; constant has to be loaded
|
||||
%b = add short 4, 3 ; one of the operands shd be immed
|
||||
%c = add float %X, 0.0 ; will this be optimzzed?
|
||||
%d = add float %X, 3.1415 ; constant has to be loaded
|
||||
%d = add float %X, 0x400921CAC0000000 ; constant has to be loaded
|
||||
%f = add uint 4294967295, 10 ; result shd be 9 (not in immed fld)
|
||||
%g = add ushort 20, 65535 ; result shd be 19 (65536 in immed fld)
|
||||
%j = add ushort 65535, 30 ; result shd be 29 (not in immed fld)
|
||||
|
@ -64,7 +64,7 @@ void %test_div(%f8 *%P, %f8* %Q, %f8 *%S) {
|
||||
|
||||
void %test_cst(%f4 *%P, %f4 *%S) {
|
||||
%p = load %f4* %P
|
||||
%R = add %f4 %p, <float 0.1, float 1.0, float 2.0, float 4.5>
|
||||
%R = add %f4 %p, <float 0x3FB99999A0000000, float 1.0, float 2.0, float 4.5>
|
||||
store %f4 %R, %f4 *%S
|
||||
ret void
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ void %test_div(%f8 *%P, %f8* %Q, %f8 *%S) {
|
||||
|
||||
void %test_cst(%f4 *%P, %f4 *%S) {
|
||||
%p = load %f4* %P
|
||||
%R = add %f4 %p, <float 0.1, float 1.0, float 2.0, float 4.5>
|
||||
%R = add %f4 %p, <float 0x3FB99999A0000000, float 1.0, float 2.0, float 4.5>
|
||||
store %f4 %R, %f4 *%S
|
||||
ret void
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ define float @foo(<4 x float> %a) {
|
||||
ret float %c
|
||||
}
|
||||
define float @bar(float %a) {
|
||||
%b = insertelement <4 x float> <float 3.4, float 4.5, float 0.0, float 9.2>, float %a, i32 3
|
||||
%b = insertelement <4 x float> <float 0x400B333340000000, float 4.5, float 0.0, float 0x4022666660000000>, float %a, i32 3
|
||||
%c = extractelement <4 x float> %b, i32 2
|
||||
ret float %c
|
||||
}
|
||||
|
@ -12,9 +12,9 @@ declare void %extdouble(double)
|
||||
implementation
|
||||
|
||||
void %testfloatstore() {
|
||||
call void %extfloat(float 1234.4)
|
||||
call void %extdouble(double 1234.4123)
|
||||
store float 13.0123, float* %G
|
||||
call void %extfloat(float 0x40934999A0000000)
|
||||
call void %extdouble(double 0x409349A631F8A090)
|
||||
store float 0x402A064C20000000, float* %G
|
||||
ret void
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse | grep movaps
|
||||
|
||||
define <4 x float> @foo() {
|
||||
ret <4 x float> <float 3.223542354, float 2.3, float 1.2, float 0.1>
|
||||
ret <4 x float> <float 0x4009C9D0A0000000, float 0x4002666660000000, float 0x3FF3333340000000, float 0x3FB99999A0000000>
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ void %test_div(%f8 *%P, %f8* %Q, %f8 *%S) {
|
||||
|
||||
void %test_cst(%f4 *%P, %f4 *%S) {
|
||||
%p = load %f4* %P
|
||||
%R = add %f4 %p, <float 0.1, float 1.0, float 2.0, float 4.5>
|
||||
%R = add %f4 %p, <float 0x3FB99999A0000000, float 1.0, float 2.0, float 4.5>
|
||||
store %f4 %R, %f4 *%S
|
||||
ret void
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | not grep bitcast
|
||||
|
||||
int %test1() {
|
||||
ret int bitcast(float 3.7 to int)
|
||||
ret int bitcast(float 0x400D9999A0000000 to int)
|
||||
}
|
||||
|
||||
float %test2() {
|
||||
@ -9,7 +9,7 @@ float %test2() {
|
||||
}
|
||||
|
||||
long %test3() {
|
||||
ret long bitcast (double 3.1415926 to long)
|
||||
ret long bitcast (double 0x400921FB4D12D84A to long)
|
||||
}
|
||||
|
||||
double %test4() {
|
||||
|
@ -7,4 +7,4 @@
|
||||
"&^ " = type { int }
|
||||
"%.*+ foo" = global "&^ " { int 5 }
|
||||
"0" = global float 0.0 ; This CANNOT be %0
|
||||
"\03foo" = global float 0.1 ; Make sure funny char gets round trip
|
||||
"\03foo" = global float 0x3FB99999A0000000 ; Make sure funny char gets round trip
|
||||
|
@ -14,10 +14,10 @@ begin
|
||||
%t3 = zext i31 %i to i1280
|
||||
%t4 = sext i31 %i to i1280
|
||||
|
||||
%t5 = fptoui float 3.14159 to i31
|
||||
%t5 = fptoui float 0x400921FA00000000 to i31
|
||||
%t6 = uitofp i31 %t5 to double
|
||||
|
||||
%t7 = fptosi double -1234.5678 to i28
|
||||
%t7 = fptosi double 0xC0934A456D5CFAAD to i28
|
||||
%t8 = sitofp i8 -1 to double
|
||||
%t9 = uitofp i8 255 to double
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
; RUN: llvm-as < %s | llvm-dis | not grep bitcast
|
||||
|
||||
define i60 @test1() {
|
||||
ret i60 fptoui(float 3.7 to i60)
|
||||
ret i60 fptoui(float 0x400D9999A0000000 to i60)
|
||||
}
|
||||
|
||||
define float @test2() {
|
||||
@ -9,7 +9,7 @@ define float @test2() {
|
||||
}
|
||||
|
||||
define i64 @test3() {
|
||||
ret i64 bitcast (double 3.1415926 to i64)
|
||||
ret i64 bitcast (double 0x400921FB4D12D84A to i64)
|
||||
}
|
||||
|
||||
define double @test4() {
|
||||
@ -17,7 +17,7 @@ define double @test4() {
|
||||
}
|
||||
|
||||
define i30 @test5() {
|
||||
ret i30 fptoui(float 3.7 to i30)
|
||||
ret i30 fptoui(float 0x400D9999A0000000 to i30)
|
||||
}
|
||||
|
||||
define float @test6() {
|
||||
@ -25,7 +25,7 @@ define float @test6() {
|
||||
}
|
||||
|
||||
define i64 @test7() {
|
||||
ret i64 bitcast (double 3.1415926 to i64)
|
||||
ret i64 bitcast (double 0x400921FB4D12D84A to i64)
|
||||
}
|
||||
|
||||
define double @test8() {
|
||||
|
@ -13,11 +13,11 @@ int %test2() {
|
||||
}
|
||||
|
||||
float %test3() {
|
||||
%R = rem float 12.45, 123.213
|
||||
%R = rem float 0x4028E66660000000, 0x405ECDA1C0000000
|
||||
ret float %R
|
||||
}
|
||||
|
||||
double %test4() {
|
||||
%R = rem double 312.20213123, 12.3333412
|
||||
%R = rem double 0x4073833BEE07AFF8, 0x4028AAABB2A0D19C
|
||||
ret double %R
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
%X = constant int 42
|
||||
%X2 = constant int 47
|
||||
%Y = constant [2 x { int, float }] [ { int, float } { int 12, float 1.0 },
|
||||
{ int, float } { int 37, float 1.2312 } ]
|
||||
{ int, float } { int 37, float 0x3FF3B2FEC0000000 } ]
|
||||
%Z = constant [2 x { int, float }] zeroinitializer
|
||||
|
||||
int %test1() {
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
@X = constant i212 42
|
||||
@Y = constant [2 x { i212, float }] [ { i212, float } { i212 12, float 1.0 },
|
||||
{ i212, float } { i212 37, float 1.2312 } ]
|
||||
{ i212, float } { i212 37, float 0x3FF3B2FEC0000000 } ]
|
||||
define i212 @test1() {
|
||||
%B = load i212* @X
|
||||
ret i212 %B
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
%X = constant int 42
|
||||
%Y = constant [2 x { int, float }] [ { int, float } { int 12, float 1.0 },
|
||||
{ int, float } { int 37, float 1.2312 } ]
|
||||
{ int, float } { int 37, float 0x3FF3B2FEC0000000 } ]
|
||||
int %test1() {
|
||||
%B = load int* %X
|
||||
ret int %B
|
||||
|
Loading…
Reference in New Issue
Block a user