blob: f7eac8e14b68c3c4a03ca6779db4c2acbae46b13 [file] [log] [blame]
Sanjay Patel1170daa2018-04-16 14:13:57 +00001; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt < %s -instcombine -S | FileCheck %s
3
4; -x + y => y - x
5
6define float @fneg_op0(float %x, float %y) {
7; CHECK-LABEL: @fneg_op0(
8; CHECK-NEXT: [[ADD:%.*]] = fsub float [[Y:%.*]], [[X:%.*]]
9; CHECK-NEXT: ret float [[ADD]]
10;
11 %neg = fsub float -0.0, %x
12 %add = fadd float %neg, %y
13 ret float %add
14}
15
16; x + -y => x - y
17
18define float @fneg_op1(float %x, float %y) {
19; CHECK-LABEL: @fneg_op1(
20; CHECK-NEXT: [[ADD:%.*]] = fsub float [[X:%.*]], [[Y:%.*]]
21; CHECK-NEXT: ret float [[ADD]]
22;
23 %neg = fsub float -0.0, %y
24 %add = fadd float %x, %neg
25 ret float %add
26}
27