[PATCH] D88120: [GlobalISel] Add artifact combine for trunc(concat_vectors(a, ...) -> concat_vectors(trunc(a), ...)

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 23 07:15:22 PDT 2020


aemerson abandoned this revision.
aemerson added inline comments.


================
Comment at: llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir:4651-4656
+    ; GFX9-MESA: [[TRUNC1:%[0-9]+]]:_(<2 x s8>) = G_TRUNC [[BUILD_VECTOR_TRUNC1]](<2 x s16>)
+    ; GFX9-MESA: [[CONCAT_VECTORS:%[0-9]+]]:_(<4 x s8>) = G_CONCAT_VECTORS [[TRUNC]](<2 x s8>), [[TRUNC1]](<2 x s8>)
+    ; GFX9-MESA: $vgpr0 = COPY [[CONCAT_VECTORS]](<4 x s8>)
     %0:_(p0) = COPY $vgpr0_vgpr1
     %1:_(<4 x s8>) = G_LOAD %0 :: (load 4, align 2, addrspace 0)
     $vgpr0 = COPY %1
----------------
arsenm wrote:
> This is worse (although this test is broken since a <4 x s8> value should not be legal, and should be a verifier error to copy this to a physical register
Yeah I’m going to drop this in favour of custom legalisation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88120/new/

https://reviews.llvm.org/D88120



More information about the llvm-commits mailing list