mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
Right, instcombine cannot remove ((X >> C) << C) if it's signed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7790 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b310196abc
commit
dc20a3e7d3
@ -87,9 +87,9 @@ uint %test14(uint %A) {
|
||||
%D = shl uint %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
|
||||
ret uint %D
|
||||
}
|
||||
int %test14a(int %A) {
|
||||
%B = shl int %A, ubyte 4
|
||||
%C = and int %B, -1234
|
||||
%D = shr int %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
|
||||
ret int %D
|
||||
uint %test14a(uint %A) {
|
||||
%B = shl uint %A, ubyte 4
|
||||
%C = and uint %B, 1234
|
||||
%D = shr uint %C, ubyte 4 ;; D = ((B | 1234) << 4) === ((B << 4)|(1234 << 4)
|
||||
ret uint %D
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user