Displaying 2 results from an estimated 2 matches for "shl_imm".
2009 Oct 21
2
[LLVMdev] [PATCH] Fix arm sbfx/ubfx generation
...lue out of range -- `sbfx r0,r3,#-2,#31'
clang: error: assembler command failed with exit code 1 (use -v to see
invocation)
make: *** [encoder/analyse.o] Error 1
LSB isn't checked to ensure it's non-negative. In addition, LSB +
Width cannot be >32, since it reduces to (Srl_imm - Shl_imm) + (32 -
Srl_imm) == 32 - Shl_imm, and it was already assert()ed that 0 <
Shl_imm < 32. So that check is just replaced by if (LSB < 0)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm-arm-neg-bfx.diff
Type: application/octet-stream
Size: 577 byt...
2009 Oct 21
0
[LLVMdev] [PATCH] Fix arm sbfx/ubfx generation
...d, so
test case attached. It'll break if llvm starts emitting the lsl r0,
r0, #3 / asr r0, r0, #1 variants for shifts, not sure how to handle
that.
> LSB isn't checked to ensure it's non-negative. In addition, LSB +
> Width cannot be >32, since it reduces to (Srl_imm - Shl_imm) + (32 -
> Srl_imm) == 32 - Shl_imm, and it was already assert()ed that 0 <
> Shl_imm < 32. So that check is just replaced by if (LSB < 0)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm-arm-neg-bfx-2.diff
Type: application/octet-stream...