1
0
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:
Dale Johannesen 2007-09-05 17:50:36 +00:00
parent a1061872a7
commit f9ca7b6094
21 changed files with 32 additions and 32 deletions

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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>
}

View File

@ -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
}

View File

@ -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() {

View File

@ -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

View File

@ -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

View File

@ -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() {

View File

@ -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
}

View File

@ -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() {

View File

@ -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

View File

@ -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