| OLD | NEW |
| 1 ; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 -disable-ppc-cmp-o
pt=0 | FileCheck %s | 1 ; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 -disable-ppc-cmp-o
pt=0 | FileCheck %s |
| 2 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
2:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64" | 2 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
2:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64" |
| 3 target triple = "powerpc64-unknown-linux-gnu" | 3 target triple = "powerpc64-unknown-linux-gnu" |
| 4 | 4 |
| 5 define signext i32 @foo(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 { | 5 define signext i32 @foo(i32 signext %a, i32 signext %b, i32* nocapture %c) #0 { |
| 6 entry: | 6 entry: |
| 7 %sub = sub nsw i32 %a, %b | 7 %sub = sub nsw i32 %a, %b |
| 8 store i32 %sub, i32* %c, align 4, !tbaa !0 | 8 store i32 %sub, i32* %c, align 4, !tbaa !0 |
| 9 %cmp = icmp sgt i32 %a, %b | 9 %cmp = icmp sgt i32 %a, %b |
| 10 %cond = select i1 %cmp, i32 %a, i32 %b | 10 %cond = select i1 %cmp, i32 %a, i32 %b |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 | 111 |
| 112 define double @food(double %a, double %b, double* nocapture %c) #0 { | 112 define double @food(double %a, double %b, double* nocapture %c) #0 { |
| 113 entry: | 113 entry: |
| 114 %sub = fsub double %a, %b | 114 %sub = fsub double %a, %b |
| 115 store double %sub, double* %c, align 8, !tbaa !3 | 115 store double %sub, double* %c, align 8, !tbaa !3 |
| 116 %cmp = fcmp ogt double %a, %b | 116 %cmp = fcmp ogt double %a, %b |
| 117 %cond = select i1 %cmp, double %a, double %b | 117 %cond = select i1 %cmp, double %a, double %b |
| 118 ret double %cond | 118 ret double %cond |
| 119 | 119 |
| 120 ; CHECK: @food | 120 ; CHECK: @food |
| 121 ; CHECK-NOT: fsub. 0, 1, 2 | 121 ; CHECK: fsub. 0, 1, 2 |
| 122 ; CHECK: stfd 0, 0(5) | 122 ; CHECK: stfd 0, 0(5) |
| 123 } | 123 } |
| 124 | 124 |
| 125 define float @foof(float %a, float %b, float* nocapture %c) #0 { | 125 define float @foof(float %a, float %b, float* nocapture %c) #0 { |
| 126 entry: | 126 entry: |
| 127 %sub = fsub float %a, %b | 127 %sub = fsub float %a, %b |
| 128 store float %sub, float* %c, align 4, !tbaa !3 | 128 store float %sub, float* %c, align 4, !tbaa !3 |
| 129 %cmp = fcmp ogt float %a, %b | 129 %cmp = fcmp ogt float %a, %b |
| 130 %cond = select i1 %cmp, float %a, float %b | 130 %cond = select i1 %cmp, float %a, float %b |
| 131 ret float %cond | 131 ret float %cond |
| 132 | 132 |
| 133 ; CHECK: @foof | 133 ; CHECK: @foof |
| 134 ; CHECK-NOT: fsubs. 0, 1, 2 | 134 ; CHECK: fsubs. 0, 1, 2 |
| 135 ; CHECK: stfs 0, 0(5) | 135 ; CHECK: stfs 0, 0(5) |
| 136 } | 136 } |
| 137 | 137 |
| 138 !0 = metadata !{metadata !"int", metadata !1} | 138 !0 = metadata !{metadata !"int", metadata !1} |
| 139 !1 = metadata !{metadata !"omnipotent char", metadata !2} | 139 !1 = metadata !{metadata !"omnipotent char", metadata !2} |
| 140 !2 = metadata !{metadata !"Simple C/C++ TBAA"} | 140 !2 = metadata !{metadata !"Simple C/C++ TBAA"} |
| 141 !3 = metadata !{metadata !"long", metadata !1} | 141 !3 = metadata !{metadata !"long", metadata !1} |
| 142 !4 = metadata !{metadata !"any pointer", metadata !1} | 142 !4 = metadata !{metadata !"any pointer", metadata !1} |
| 143 | 143 |
| OLD | NEW |