[llvm] [NVPTX] Make i16x2 a native type and add supported vec instructions (PR #65432)
Artem Belevich via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 8 10:30:33 PDT 2023
Artem-B wrote:
Another theory is that the bitcast in the tests didn't actually make it to the lowering and we only had to deal with loads/stores.
https://godbolt.org/z/81e31jj8a
nvptx-isel appears to convert IR straight into
```
# *** IR Dump After NVPTX DAG->DAG Pattern Instruction Selection (nvptx-isel) ***:
# Machine code for function test_bitcast_2xhalf_to_2xi16: IsSSA, TracksLiveness
bb.0 (%ir-block.0):
%0:int32regs = LD_i32_avar 0, 4, 1, 0, 32, &test_bitcast_2xhalf_to_2xi16_param_0 :: (dereferenceable invariant load (s32) from `ptr addrspace(101) null`, addrspace 101)
StoreRetvalI32 killed %0:int32regs, 0 :: (store (s32), align 1)
Return
```
We may need something more elaborate, like manually constructing v2i16 from an input i16.
https://github.com/llvm/llvm-project/pull/65432
More information about the llvm-commits
mailing list