This adds support for handling f16 stack spills/reloads.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
test/CodeGen/ARM/fp16-instructions.ll | ||
---|---|---|
728 ↗ | (On Diff #134211) | This test looks more complicated than it needs to be, can it be reduced? |
Comment Actions
This IR is generated from the reduced C test case:
fn1() { fn2(9.765625e4F16); fn3(9.765625e4F16); }
There is a bit of bitcasting going on because of the way we pass half-floats,
and a few alloca's because the easiest way to trigger this is with fast-isel
and no reg allocation, so I am not sure how I can further reduce this.
Comment Actions
The test case doesn't have to be exactly the -O0 output from clang, you should reduce it to clear IR which triggers the bug. To start with, are all of those allocas and memcpy calls required?