37 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt < %s -passes=gvn -S | FileCheck %s3 4define double @func_fast(double %a, double %b) {5; CHECK-LABEL: define double @func_fast(6; CHECK-SAME: double [[A:%.*]], double [[B:%.*]]) {7; CHECK-NEXT: [[ENTRY:.*:]]8; CHECK-NEXT: [[A_ADDR:%.*]] = alloca double, align 89; CHECK-NEXT: [[ADD:%.*]] = fadd fast double [[B]], 3.000000e+0010; CHECK-NEXT: store double [[ADD]], ptr [[A_ADDR]], align 811; CHECK-NEXT: ret double [[ADD]]12;13entry:14 %a.addr = alloca double, align 815 %add = fadd fast double %b, 3.000000e+0016 store double %add, ptr %a.addr, align 817 %load_add = load double, ptr %a.addr, align 818 ret double %load_add19}20 21define double @func_no_fast(double %a, double %b) {22; CHECK-LABEL: define double @func_no_fast(23; CHECK-SAME: double [[A:%.*]], double [[B:%.*]]) {24; CHECK-NEXT: [[ENTRY:.*:]]25; CHECK-NEXT: [[A_ADDR:%.*]] = alloca double, align 826; CHECK-NEXT: [[ADD:%.*]] = fadd double [[B]], 3.000000e+0027; CHECK-NEXT: store double [[ADD]], ptr [[A_ADDR]], align 828; CHECK-NEXT: ret double [[ADD]]29;30entry:31 %a.addr = alloca double, align 832 %add = fadd fast double %b, 3.000000e+0033 store double %add, ptr %a.addr, align 834 %duplicated_add = fadd double %b, 3.000000e+0035 ret double %duplicated_add36}37