[PATCH] D113986: [AMDGPU] Implement widening multiplies with v_mad_i64_i32/v_mad_u64_u32
Jay Foad via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 16 04:28:35 PST 2021
foad added a comment.
The change in the instruction mix in the generated lit tests looks like this:
$ git show | awk '/^-/&&$3~/[sv]_/{a[$3]--}/^+/&&$3~/[sv]_/{a[$3]++}END{for(i in a)if(a[i])printf"%+d %s\n",a[i],i}' | sort -n
-604 v_mul_hi_u32
-567 v_mul_lo_u32
-31 s_mul_i32
-15 v_mul_hi_i32
-10 s_and_b32
-4 v_cndmask_b32_e32
-2 s_mov_b32
-2 v_cmp_ne_u32_e32
-2 v_lshlrev_b32_e32
-2 v_lshrrev_b32_e32
-2 v_mov_b32_e32
+15 v_mad_i64_i32
+1 v_mul_hi_i32_i24_e32
+20 v_addc_u32_e32
+21 v_add_i32_e32
+2 s_waitcnt
+2 v_cmp_ne_u32_e64
+2 v_mul_i32_i24_e64
+2 v_mul_u32_u24_e64
+4 v_cndmask_b32_e64
+4 v_mul_i32_i24_e32
+4 v_mul_u32_u24_e32
+617 v_mad_u64_u32
So it is mostly replacing v_mul_hi_u32+v_mul_lo_u32 with v_mad_u64_u32.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113986/new/
https://reviews.llvm.org/D113986
More information about the llvm-commits
mailing list