[PATCH] D18049: AMDGPU/SI: Make i16 a legal type for VI subtargets
Tom Stellard via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 27 13:24:48 PDT 2016
tstellarAMD added inline comments.
Comment at: lib/Target/AMDGPU/BUFInstructions.td:962-963
+defm : MUBUFLoad_Pattern <BUFFER_LOAD_SBYTE_OFFSET, i16, sextloadi8_constant>;
+defm : MUBUFLoad_Pattern <BUFFER_LOAD_UBYTE_OFFSET, i16, az_extloadi8_constant>;
+defm : MUBUFLoad_Pattern <BUFFER_LOAD_SBYTE_OFFSET, i16, mubuf_sextloadi8>;
> Originally I was avoiding these by promoting the load return type and truncating. Is this the same or is there an advantage from known bits types of things knowing it is really a 32-bit extload?
The main problem is that extload must be legal, so it's hard to custom lower all extloads. I attempted to do this, and I think it would require a lot of work in the backend and also the legalizer to make this work. I'm not sure it's worth the effort at this point.
More information about the llvm-commits