@@ -296,6 +296,8 @@ def S_SUBB_U32 : SOP2_32 <"s_subb_u32",
296
296
[(set i32:$sdst, (sube (i32 SSrc_32:$src0), (i32 SSrc_32:$src1)))]>;
297
297
} // End Uses = [SCC]
298
298
299
+
300
+ let isCommutable = 1 in {
299
301
def S_MIN_I32 : SOP2_32 <"s_min_i32",
300
302
[(set i32:$sdst, (smin i32:$src0, i32:$src1))]
301
303
>;
@@ -308,6 +310,7 @@ def S_MAX_I32 : SOP2_32 <"s_max_i32",
308
310
def S_MAX_U32 : SOP2_32 <"s_max_u32",
309
311
[(set i32:$sdst, (umax i32:$src0, i32:$src1))]
310
312
>;
313
+ } // End isCommutable = 1
311
314
} // End Defs = [SCC]
312
315
313
316
@@ -317,6 +320,7 @@ let Uses = [SCC] in {
317
320
} // End Uses = [SCC]
318
321
319
322
let Defs = [SCC] in {
323
+ let isCommutable = 1 in {
320
324
def S_AND_B32 : SOP2_32 <"s_and_b32",
321
325
[(set i32:$sdst, (and i32:$src0, i32:$src1))]
322
326
>;
@@ -340,6 +344,8 @@ def S_XOR_B32 : SOP2_32 <"s_xor_b32",
340
344
def S_XOR_B64 : SOP2_64 <"s_xor_b64",
341
345
[(set i64:$sdst, (xor i64:$src0, i64:$src1))]
342
346
>;
347
+ } // End isCommutable = 1
348
+
343
349
def S_ANDN2_B32 : SOP2_32 <"s_andn2_b32">;
344
350
def S_ANDN2_B64 : SOP2_64 <"s_andn2_b64">;
345
351
def S_ORN2_B32 : SOP2_32 <"s_orn2_b32">;
@@ -380,8 +386,9 @@ def S_BFM_B32 : SOP2_32 <"s_bfm_b32",
380
386
[(set i32:$sdst, (AMDGPUbfm i32:$src0, i32:$src1))]>;
381
387
def S_BFM_B64 : SOP2_64_32_32 <"s_bfm_b64">;
382
388
def S_MUL_I32 : SOP2_32 <"s_mul_i32",
383
- [(set i32:$sdst, (mul i32:$src0, i32:$src1))]
384
- >;
389
+ [(set i32:$sdst, (mul i32:$src0, i32:$src1))]> {
390
+ let isCommutable = 1;
391
+ }
385
392
386
393
} // End AddedComplexity = 1
387
394
0 commit comments