arm64/isel: Avoid signed overflow when handling immediates
Clang incorrectly optimizes this negation with -O2 and causes QBE to emit 0 in place of INT64_MIN.
This commit is contained in:
parent
efcb5465e5
commit
bb8de8c633
1 changed files with 1 additions and 1 deletions
|
@ -24,7 +24,7 @@ imm(Con *c, int k, int64_t *pn)
|
|||
i = Iplo12;
|
||||
if (n < 0) {
|
||||
i = Inlo12;
|
||||
n = -n;
|
||||
n = -(uint64_t)n;
|
||||
}
|
||||
*pn = n;
|
||||
if ((n & 0x000fff) == n)
|
||||
|
|
Loading…
Add table
Reference in a new issue