Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: tests_lit/llvm2ice_tests/64bit.pnacl.ll

Issue 1407143002: Merge compares and branches (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Rebase Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/assembler/x86/jump_encodings.ll ('k') | tests_lit/llvm2ice_tests/icmp-with-zero.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; This tries to be a comprehensive test of i64 operations, in 1 ; This tries to be a comprehensive test of i64 operations, in
2 ; particular the patterns for lowering i64 operations into constituent 2 ; particular the patterns for lowering i64 operations into constituent
3 ; i32 operations on x86-32. 3 ; i32 operations on x86-32.
4 4
5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \ 6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \
7 ; RUN: | %if --need=target_X8632 --command FileCheck %s 7 ; RUN: | %if --need=target_X8632 --command FileCheck %s
8 8
9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \ 10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \
(...skipping 997 matching lines...) Expand 10 before | Expand all | Expand 10 after
1008 br i1 %cmp1, label %if.then2, label %if.end3 1008 br i1 %cmp1, label %if.then2, label %if.end3
1009 1009
1010 if.then2: ; preds = %if.end 1010 if.then2: ; preds = %if.end
1011 call void @func() 1011 call void @func()
1012 br label %if.end3 1012 br label %if.end3
1013 1013
1014 if.end3: ; preds = %if.then2, %if.end 1014 if.end3: ; preds = %if.then2, %if.end
1015 ret void 1015 ret void
1016 } 1016 }
1017 ; CHECK-LABEL: icmpEq64 1017 ; CHECK-LABEL: icmpEq64
1018 ; CHECK: jne 1018 ; CHECK: cmp {{.*}}
1019 ; CHECK: je 1019 ; CHECK-NEXT: jne {{.*}}
1020 ; CHECK: call 1020 ; CHECK-NEXT: cmp {{.*}}
1021 ; CHECK: jne 1021 ; CHECK-NEXT: jne {{.*}}
1022 ; CHECK: je 1022 ; CHECK-NEXT: call {{.*}}
1023 ; CHECK: call 1023 ; CHECK: cmp {{.*}}
1024 ; CHECK-NEXT: jne {{.*}}
1025 ; CHECK-NEXT: cmp {{.*}}
1026 ; CHECK-NEXT: jne {{.*}}
1027 ; CHECK-NEXT: call {{.*}}
1024 ; 1028 ;
1025 ; OPTM1-LABEL: icmpEq64 1029 ; OPTM1-LABEL: icmpEq64
1026 ; OPTM1: jne 1030 ; OPTM1: mov [[RESULT:.*]],0x1
1027 ; OPTM1: je 1031 ; OPTM1-NEXT: cmp {{.*}}
1028 ; OPTM1: call 1032 ; OPTM1-NEXT: jne {{.*}}
1029 ; OPTM1: jne 1033 ; OPTM1-NEXT: cmp {{.*}}
1030 ; OPTM1: je 1034 ; OPTM1-NEXT: je {{.*}}
1031 ; OPTM1: call 1035 ; OPTM1-NEXT: mov [[RESULT]],0x0
1036 ; OPTM1-NEXT: cmp [[RESULT]],0x0
1037 ; OPTM1-NEXT: jne
1038 ; OPTM1-NEXT: jmp
1039 ; OPTM1-NEXT: call
1040 ; OPTM1: mov [[RESULT:.*]],0x1
1041 ; OPTM1-NEXT: cmp {{.*}}
1042 ; OPTM1-NEXT: jne {{.*}}
1043 ; OPTM1-NEXT: cmp {{.*}}
1044 ; OPTM1-NEXT: je {{.*}}
1045 ; OPTM1-NEXT: mov [[RESULT]],0x0
1046 ; OPTM1-NEXT: cmp [[RESULT]],0x0
1047 ; OPTM1-NEXT: jne
1048 ; OPTM1-NEXT: jmp
1049 ; OPTM1-NEXT: call
1032 1050
1033 ; ARM32-LABEL: icmpEq64 1051 ; ARM32-LABEL: icmpEq64
1034 ; ARM32: cmp 1052 ; ARM32: cmp
1035 ; ARM32: cmpeq 1053 ; ARM32: cmpeq
1036 ; ARM32: moveq 1054 ; ARM32: moveq
1037 ; ARM32: movne 1055 ; ARM32: movne
1038 ; ARM32: bl 1056 ; ARM32: bl
1039 ; ARM32: cmp 1057 ; ARM32: cmp
1040 ; ARM32: cmpeq 1058 ; ARM32: cmpeq
1041 ; ARM32: moveq 1059 ; ARM32: moveq
(...skipping 16 matching lines...) Expand all
1058 br i1 %cmp1, label %if.then2, label %if.end3 1076 br i1 %cmp1, label %if.then2, label %if.end3
1059 1077
1060 if.then2: ; preds = %if.end 1078 if.then2: ; preds = %if.end
1061 call void @func() 1079 call void @func()
1062 br label %if.end3 1080 br label %if.end3
1063 1081
1064 if.end3: ; preds = %if.end, %if.then2 1082 if.end3: ; preds = %if.end, %if.then2
1065 ret void 1083 ret void
1066 } 1084 }
1067 ; CHECK-LABEL: icmpNe64 1085 ; CHECK-LABEL: icmpNe64
1068 ; CHECK: jne 1086 ; CHECK: cmp {{.*}}
1069 ; CHECK: jne 1087 ; CHECK-NEXT: jne {{.*}}
1070 ; CHECK: call 1088 ; CHECK-NEXT: cmp {{.*}}
1071 ; CHECK: jne 1089 ; CHECK-NEXT: je {{.*}}
1072 ; CHECK: jne 1090 ; CHECK-NEXT: call {{.*}}
1073 ; CHECK: call 1091 ; CHECK: cmp {{.*}}
1092 ; CHECK-NEXT: jne {{.*}}
1093 ; CHECK-NEXT: cmp {{.*}}
1094 ; CHECK-NEXT: je {{.*}}
1095 ; CHECK-NEXT: call {{.*}}
1074 ; 1096 ;
1075 ; OPTM1-LABEL: icmpNe64 1097 ; OPTM1-LABEL: icmpNe64
1076 ; OPTM1: jne 1098 ; OPTM1: mov [[RESULT:.*]],0x1
1077 ; OPTM1: jne 1099 ; OPTM1-NEXT: cmp {{.*}}
1078 ; OPTM1: call 1100 ; OPTM1-NEXT: jne {{.*}}
1079 ; OPTM1: jne 1101 ; OPTM1-NEXT: cmp {{.*}}
1080 ; OPTM1: jne 1102 ; OPTM1-NEXT: jne {{.*}}
1081 ; OPTM1: call 1103 ; OPTM1-NEXT: mov [[RESULT:.*]],0x0
1104 ; OPTM1-NEXT: cmp [[RESULT]],0x0
1105 ; OPTM1-NEXT: jne {{.*}}
1106 ; OPTM1-NEXT: jmp {{.*}}
1107 ; OPTM1-NEXT: call
1108 ; OPTM1: mov [[RESULT:.*]],0x1
1109 ; OPTM1-NEXT: cmp {{.*}}
1110 ; OPTM1-NEXT: jne {{.*}}
1111 ; OPTM1-NEXT: cmp {{.*}}
1112 ; OPTM1-NEXT: jne {{.*}}
1113 ; OPTM1-NEXT: mov [[RESULT:.*]],0x0
1114 ; OPTM1-NEXT: cmp [[RESULT]],0x0
1115 ; OPTM1-NEXT: jne {{.*}}
1116 ; OPTM1-NEXT: jmp {{.*}}
1117 ; OPTM1-NEXT: call
1082 1118
1083 ; ARM32-LABEL: icmpNe64 1119 ; ARM32-LABEL: icmpNe64
1084 ; ARM32: cmp 1120 ; ARM32: cmp
1085 ; ARM32: cmpeq 1121 ; ARM32: cmpeq
1086 ; ARM32: movne 1122 ; ARM32: movne
1087 ; ARM32: moveq 1123 ; ARM32: moveq
1088 ; ARM32: bl 1124 ; ARM32: bl
1089 ; ARM32: cmp 1125 ; ARM32: cmp
1090 ; ARM32: cmpeq 1126 ; ARM32: cmpeq
1091 ; ARM32: movne 1127 ; ARM32: movne
(...skipping 16 matching lines...) Expand all
1108 if.then2: ; preds = %if.end 1144 if.then2: ; preds = %if.end
1109 call void @func() 1145 call void @func()
1110 br label %if.end3 1146 br label %if.end3
1111 1147
1112 if.end3: ; preds = %if.then2, %if.end 1148 if.end3: ; preds = %if.then2, %if.end
1113 ret void 1149 ret void
1114 } 1150 }
1115 ; CHECK-LABEL: icmpGt64 1151 ; CHECK-LABEL: icmpGt64
1116 ; CHECK: ja 1152 ; CHECK: ja
1117 ; CHECK: jb 1153 ; CHECK: jb
1118 ; CHECK: ja 1154 ; CHECK: jbe
1119 ; CHECK: call 1155 ; CHECK: call
1120 ; CHECK: jg 1156 ; CHECK: jg
1121 ; CHECK: jl 1157 ; CHECK: jl
1122 ; CHECK: ja 1158 ; CHECK: jbe
1123 ; CHECK: call 1159 ; CHECK: call
1124 ; 1160 ;
1125 ; OPTM1-LABEL: icmpGt64 1161 ; OPTM1-LABEL: icmpGt64
1126 ; OPTM1: ja 1162 ; OPTM1: ja
1127 ; OPTM1: jb 1163 ; OPTM1: jb
1128 ; OPTM1: ja 1164 ; OPTM1: ja
1129 ; OPTM1: call 1165 ; OPTM1: call
1130 ; OPTM1: jg 1166 ; OPTM1: jg
1131 ; OPTM1: jl 1167 ; OPTM1: jl
1132 ; OPTM1: ja 1168 ; OPTM1: ja
(...skipping 27 matching lines...) Expand all
1160 if.then2: ; preds = %if.end 1196 if.then2: ; preds = %if.end
1161 call void @func() 1197 call void @func()
1162 br label %if.end3 1198 br label %if.end3
1163 1199
1164 if.end3: ; preds = %if.end, %if.then2 1200 if.end3: ; preds = %if.end, %if.then2
1165 ret void 1201 ret void
1166 } 1202 }
1167 ; CHECK-LABEL: icmpGe64 1203 ; CHECK-LABEL: icmpGe64
1168 ; CHECK: ja 1204 ; CHECK: ja
1169 ; CHECK: jb 1205 ; CHECK: jb
1170 ; CHECK: jae 1206 ; CHECK: jb
1171 ; CHECK: call 1207 ; CHECK: call
1172 ; CHECK: jg 1208 ; CHECK: jg
1173 ; CHECK: jl 1209 ; CHECK: jl
1174 ; CHECK: jae 1210 ; CHECK: jb
1175 ; CHECK: call 1211 ; CHECK: call
1176 ; 1212 ;
1177 ; OPTM1-LABEL: icmpGe64 1213 ; OPTM1-LABEL: icmpGe64
1178 ; OPTM1: ja 1214 ; OPTM1: ja
1179 ; OPTM1: jb 1215 ; OPTM1: jb
1180 ; OPTM1: jae 1216 ; OPTM1: jae
1181 ; OPTM1: call 1217 ; OPTM1: call
1182 ; OPTM1: jg 1218 ; OPTM1: jg
1183 ; OPTM1: jl 1219 ; OPTM1: jl
1184 ; OPTM1: jae 1220 ; OPTM1: jae
(...skipping 27 matching lines...) Expand all
1212 if.then2: ; preds = %if.end 1248 if.then2: ; preds = %if.end
1213 call void @func() 1249 call void @func()
1214 br label %if.end3 1250 br label %if.end3
1215 1251
1216 if.end3: ; preds = %if.then2, %if.end 1252 if.end3: ; preds = %if.then2, %if.end
1217 ret void 1253 ret void
1218 } 1254 }
1219 ; CHECK-LABEL: icmpLt64 1255 ; CHECK-LABEL: icmpLt64
1220 ; CHECK: jb 1256 ; CHECK: jb
1221 ; CHECK: ja 1257 ; CHECK: ja
1222 ; CHECK: jb 1258 ; CHECK: jae
1223 ; CHECK: call 1259 ; CHECK: call
1224 ; CHECK: jl 1260 ; CHECK: jl
1225 ; CHECK: jg 1261 ; CHECK: jg
1226 ; CHECK: jb 1262 ; CHECK: jae
1227 ; CHECK: call 1263 ; CHECK: call
1228 ; 1264 ;
1229 ; OPTM1-LABEL: icmpLt64 1265 ; OPTM1-LABEL: icmpLt64
1230 ; OPTM1: jb 1266 ; OPTM1: jb
1231 ; OPTM1: ja 1267 ; OPTM1: ja
1232 ; OPTM1: jb 1268 ; OPTM1: jb
1233 ; OPTM1: call 1269 ; OPTM1: call
1234 ; OPTM1: jl 1270 ; OPTM1: jl
1235 ; OPTM1: jg 1271 ; OPTM1: jg
1236 ; OPTM1: jb 1272 ; OPTM1: jb
(...skipping 27 matching lines...) Expand all
1264 if.then2: ; preds = %if.end 1300 if.then2: ; preds = %if.end
1265 call void @func() 1301 call void @func()
1266 br label %if.end3 1302 br label %if.end3
1267 1303
1268 if.end3: ; preds = %if.end, %if.then2 1304 if.end3: ; preds = %if.end, %if.then2
1269 ret void 1305 ret void
1270 } 1306 }
1271 ; CHECK-LABEL: icmpLe64 1307 ; CHECK-LABEL: icmpLe64
1272 ; CHECK: jb 1308 ; CHECK: jb
1273 ; CHECK: ja 1309 ; CHECK: ja
1274 ; CHECK: jbe 1310 ; CHECK: ja
1275 ; CHECK: call 1311 ; CHECK: call
1276 ; CHECK: jl 1312 ; CHECK: jl
1277 ; CHECK: jg 1313 ; CHECK: jg
1278 ; CHECK: jbe 1314 ; CHECK: ja
1279 ; CHECK: call 1315 ; CHECK: call
1280 ; 1316 ;
1281 ; OPTM1-LABEL: icmpLe64 1317 ; OPTM1-LABEL: icmpLe64
1282 ; OPTM1: jb 1318 ; OPTM1: jb
1283 ; OPTM1: ja 1319 ; OPTM1: ja
1284 ; OPTM1: jbe 1320 ; OPTM1: jbe
1285 ; OPTM1: call 1321 ; OPTM1: call
1286 ; OPTM1: jl 1322 ; OPTM1: jl
1287 ; OPTM1: jg 1323 ; OPTM1: jg
1288 ; OPTM1: jbe 1324 ; OPTM1: jbe
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
1810 ; CHECK-LABEL: phi64Undef 1846 ; CHECK-LABEL: phi64Undef
1811 ; CHECK: mov {{.*}},0x0 1847 ; CHECK: mov {{.*}},0x0
1812 ; CHECK: mov {{.*}},0x0 1848 ; CHECK: mov {{.*}},0x0
1813 ; OPTM1-LABEL: phi64Undef 1849 ; OPTM1-LABEL: phi64Undef
1814 ; OPTM1: mov {{.*}},0x0 1850 ; OPTM1: mov {{.*}},0x0
1815 ; OPTM1: mov {{.*}},0x0 1851 ; OPTM1: mov {{.*}},0x0
1816 ; ARM32-LABEL: phi64Undef 1852 ; ARM32-LABEL: phi64Undef
1817 ; ARM32: mov {{.*}} #0 1853 ; ARM32: mov {{.*}} #0
1818 ; ARM32: mov {{.*}} #0 1854 ; ARM32: mov {{.*}} #0
1819 1855
OLDNEW
« no previous file with comments | « tests_lit/assembler/x86/jump_encodings.ll ('k') | tests_lit/llvm2ice_tests/icmp-with-zero.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698