1 ; RUN: llc -mtriple=r600 -mcpu=cypress < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
4 ; This is the failing part of the r600 bitacts tests
7 ; FUNC-LABEL: {{^}}bitcast_f64_to_v2i32:
8 define amdgpu_kernel void @bitcast_f64_to_v2i32(ptr addrspace(1) %out, ptr addrspace(1) %in) {
9 %val = load double, ptr addrspace(1) %in, align 8
10 %add = fadd double %val, 4.0
11 %bc = bitcast double %add to <2 x i32>
12 store <2 x i32> %bc, ptr addrspace(1) %out, align 8
16 ; FUNC-LABEL: {{^}}bitcast_v2i64_to_v2f64:
17 define amdgpu_kernel void @bitcast_v2i64_to_v2f64(i32 %cond, ptr addrspace(1) %out, <2 x i64> %value) {
19 %cmp0 = icmp eq i32 %cond, 0
20 br i1 %cmp0, label %if, label %end
23 %cast = bitcast <2 x i64> %value to <2 x double>
27 %phi = phi <2 x double> [zeroinitializer, %entry], [%cast, %if]
28 store <2 x double> %phi, ptr addrspace(1) %out
32 ; FUNC-LABEL: {{^}}bitcast_v2f64_to_v2i64:
33 define amdgpu_kernel void @bitcast_v2f64_to_v2i64(i32 %cond, ptr addrspace(1) %out, <2 x double> %value) {
35 %cmp0 = icmp eq i32 %cond, 0
36 br i1 %cmp0, label %if, label %end
39 %cast = bitcast <2 x double> %value to <2 x i64>
43 %phi = phi <2 x i64> [zeroinitializer, %entry], [%cast, %if]
44 store <2 x i64> %phi, ptr addrspace(1) %out