| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt < %s -passes=instcombine -S | FileCheck %s |
| define float @src(float %arg1) { |
| ; CHECK-LABEL: define float @src( |
| ; CHECK-SAME: float [[ARG1:%.*]]) { |
| ; CHECK-NEXT: [[V3:%.*]] = call float @llvm.fabs.f32(float [[ARG1]]) |
| ; CHECK-NEXT: ret float [[V3]] |
| ; |
| %v2 = fadd float %arg1, 0.000000e+00 |
| %v3 = call float @llvm.fabs.f32(float %v2) |
| ret float %v3 |
| } |
| |
| define float @src2(float %arg1) { |
| ; CHECK-LABEL: define float @src2( |
| ; CHECK-SAME: float [[ARG1:%.*]]) { |
| ; CHECK-NEXT: [[V2:%.*]] = fadd float [[ARG1]], 0.000000e+00 |
| ; CHECK-NEXT: [[V3:%.*]] = call float @llvm.fabs.f32(float [[V2]]) |
| ; CHECK-NEXT: [[V4:%.*]] = fsub float [[V2]], [[V3]] |
| ; CHECK-NEXT: ret float [[V4]] |
| ; |
| %v2 = fadd float %arg1, 0.000000e+00 |
| %v3 = call float @llvm.fabs.f32(float %v2) |
| %v4 = fsub float %v2, %v3 |
| ret float %v4 |
| } |