; CHECK: ste %f0, 0(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
define void @f2(float *%ptr, float %alt, i32 %limit) {
; CHECK-LABEL: f2:
; CHECK-NOT: %r2
-; CHECK: jnl [[LABEL:[^ ]*]]
+; CHECK: jhe [[LABEL:[^ ]*]]
; CHECK-NOT: %r2
; CHECK: ste %f0, 0(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %alt, float %orig
store float %res, float *%ptr
ret void
; CHECK: ste %f0, 4092(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %ptr = getelementptr float *%base, i64 1023
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %ptr = getelementptr float, float *%base, i64 1023
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
; CHECK: stey %f0, 4096(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %ptr = getelementptr float *%base, i64 1024
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %ptr = getelementptr float, float *%base, i64 1024
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
; CHECK: stey %f0, 524284(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %ptr = getelementptr float *%base, i64 131071
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %ptr = getelementptr float, float *%base, i64 131071
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
; CHECK: ste %f0, 0(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %ptr = getelementptr float *%base, i64 131072
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %ptr = getelementptr float, float *%base, i64 131072
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
; CHECK: stey %f0, -524288(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %ptr = getelementptr float *%base, i64 -131072
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %ptr = getelementptr float, float *%base, i64 -131072
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
; CHECK: ste %f0, 0(%r2)
; CHECK: [[LABEL]]:
; CHECK: br %r14
- %ptr = getelementptr float *%base, i64 -131073
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %ptr = getelementptr float, float *%base, i64 -131073
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
%add1 = add i64 %base, %index
%add2 = add i64 %add1, 4096
%ptr = inttoptr i64 %add2 to float *
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
; CHECK: [[LABEL]]:
; CHECK: ste {{%f[0-5]}}, 0(%r2)
; CHECK: br %r14
- %cond = icmp ult i32 %limit, 42
- %orig = load volatile float *%ptr
+ %cond = icmp ult i32 %limit, 420
+ %orig = load volatile float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
ret void
; ...likewise stores. In this case we should have a conditional load into %f0.
define void @f11(float *%ptr, float %alt, i32 %limit) {
; CHECK-LABEL: f11:
-; CHECK: jnl [[LABEL:[^ ]*]]
+; CHECK: jhe [[LABEL:[^ ]*]]
; CHECK: le %f0, 0(%r2)
; CHECK: [[LABEL]]:
; CHECK: ste %f0, 0(%r2)
; CHECK: br %r14
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store volatile float %res, float *%ptr
ret void
; CHECK: br %r14
%ptr = alloca float
call void @foo(float *%ptr)
- %cond = icmp ult i32 %limit, 42
- %orig = load float *%ptr
+ %cond = icmp ult i32 %limit, 420
+ %orig = load float , float *%ptr
%res = select i1 %cond, float %orig, float %alt
store float %res, float *%ptr
call void @foo(float *%ptr)