comparison llvm/test/CodeGen/AMDGPU/xfail.r600.bitcast.ll @ 252:1f2b6ac9f198 llvm-original

LLVM16-1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 18 Aug 2023 09:04:13 +0900
parents 1d019706d866
children
comparison
equal deleted inserted replaced
237:c80f45b162ad 252:1f2b6ac9f198
3 3
4 ; This is the failing part of the r600 bitacts tests 4 ; This is the failing part of the r600 bitacts tests
5 5
6 ; TODO: enable doubles 6 ; TODO: enable doubles
7 ; FUNC-LABEL: {{^}}bitcast_f64_to_v2i32: 7 ; FUNC-LABEL: {{^}}bitcast_f64_to_v2i32:
8 define amdgpu_kernel void @bitcast_f64_to_v2i32(<2 x i32> addrspace(1)* %out, double addrspace(1)* %in) { 8 define amdgpu_kernel void @bitcast_f64_to_v2i32(ptr addrspace(1) %out, ptr addrspace(1) %in) {
9 %val = load double, double addrspace(1)* %in, align 8 9 %val = load double, ptr addrspace(1) %in, align 8
10 %add = fadd double %val, 4.0 10 %add = fadd double %val, 4.0
11 %bc = bitcast double %add to <2 x i32> 11 %bc = bitcast double %add to <2 x i32>
12 store <2 x i32> %bc, <2 x i32> addrspace(1)* %out, align 8 12 store <2 x i32> %bc, ptr addrspace(1) %out, align 8
13 ret void 13 ret void
14 } 14 }
15 15
16 ; FUNC-LABEL: {{^}}bitcast_v2i64_to_v2f64: 16 ; FUNC-LABEL: {{^}}bitcast_v2i64_to_v2f64:
17 define amdgpu_kernel void @bitcast_v2i64_to_v2f64(i32 %cond, <2 x double> addrspace(1)* %out, <2 x i64> %value) { 17 define amdgpu_kernel void @bitcast_v2i64_to_v2f64(i32 %cond, ptr addrspace(1) %out, <2 x i64> %value) {
18 entry: 18 entry:
19 %cmp0 = icmp eq i32 %cond, 0 19 %cmp0 = icmp eq i32 %cond, 0
20 br i1 %cmp0, label %if, label %end 20 br i1 %cmp0, label %if, label %end
21 21
22 if: 22 if:
23 %cast = bitcast <2 x i64> %value to <2 x double> 23 %cast = bitcast <2 x i64> %value to <2 x double>
24 br label %end 24 br label %end
25 25
26 end: 26 end:
27 %phi = phi <2 x double> [zeroinitializer, %entry], [%cast, %if] 27 %phi = phi <2 x double> [zeroinitializer, %entry], [%cast, %if]
28 store <2 x double> %phi, <2 x double> addrspace(1)* %out 28 store <2 x double> %phi, ptr addrspace(1) %out
29 ret void 29 ret void
30 } 30 }
31 31
32 ; FUNC-LABEL: {{^}}bitcast_v2f64_to_v2i64: 32 ; FUNC-LABEL: {{^}}bitcast_v2f64_to_v2i64:
33 define amdgpu_kernel void @bitcast_v2f64_to_v2i64(i32 %cond, <2 x i64> addrspace(1)* %out, <2 x double> %value) { 33 define amdgpu_kernel void @bitcast_v2f64_to_v2i64(i32 %cond, ptr addrspace(1) %out, <2 x double> %value) {
34 entry: 34 entry:
35 %cmp0 = icmp eq i32 %cond, 0 35 %cmp0 = icmp eq i32 %cond, 0
36 br i1 %cmp0, label %if, label %end 36 br i1 %cmp0, label %if, label %end
37 37
38 if: 38 if:
39 %cast = bitcast <2 x double> %value to <2 x i64> 39 %cast = bitcast <2 x double> %value to <2 x i64>
40 br label %end 40 br label %end
41 41
42 end: 42 end:
43 %phi = phi <2 x i64> [zeroinitializer, %entry], [%cast, %if] 43 %phi = phi <2 x i64> [zeroinitializer, %entry], [%cast, %if]
44 store <2 x i64> %phi, <2 x i64> addrspace(1)* %out 44 store <2 x i64> %phi, ptr addrspace(1) %out
45 ret void 45 ret void
46 } 46 }