Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/X86/constant-combines.ll
Show All 13 Lines | |||||
; being useful. | ; being useful. | ||||
; | ; | ||||
; CHECK-LABEL: PR22524: | ; CHECK-LABEL: PR22524: | ||||
; CHECK: # %bb.0: # %entry | ; CHECK: # %bb.0: # %entry | ||||
; CHECK-NEXT: xorl %eax, %eax | ; CHECK-NEXT: xorl %eax, %eax | ||||
; CHECK-NEXT: movd %eax, %xmm0 | ; CHECK-NEXT: movd %eax, %xmm0 | ||||
; CHECK-NEXT: xorps %xmm1, %xmm1 | ; CHECK-NEXT: xorps %xmm1, %xmm1 | ||||
; CHECK-NEXT: mulss %xmm0, %xmm1 | ; CHECK-NEXT: mulss %xmm0, %xmm1 | ||||
; CHECK-NEXT: movq $0, (%rdi) | ; CHECK-NEXT: movl $0, (%rdi) | ||||
; CHECK-NEXT: movss %xmm1, 4(%rdi) | ; CHECK-NEXT: movss %xmm1, 4(%rdi) | ||||
; CHECK-NEXT: retq | ; CHECK-NEXT: retq | ||||
entry: | entry: | ||||
%0 = getelementptr inbounds { float, float }, { float, float }* %arg, i32 0, i32 1 | %0 = getelementptr inbounds { float, float }, { float, float }* %arg, i32 0, i32 1 | ||||
store float 0.000000e+00, float* %0, align 4 | store float 0.000000e+00, float* %0, align 4 | ||||
%1 = getelementptr inbounds { float, float }, { float, float }* %arg, i64 0, i32 0 | %1 = getelementptr inbounds { float, float }, { float, float }* %arg, i64 0, i32 0 | ||||
%2 = bitcast float* %1 to i64* | %2 = bitcast float* %1 to i64* | ||||
%3 = load i64, i64* %2, align 8 | %3 = load i64, i64* %2, align 8 | ||||
Show All 22 Lines |