mirror of
https://github.com/golang/go
synced 2024-11-25 10:07:56 -07:00
bug right shifting 64 bits
by a variable that equals 32 R=rsc CC=golang-dev https://golang.org/cl/2645042
This commit is contained in:
parent
a89b0ed7e4
commit
e5bd12ea90
@ -439,12 +439,12 @@ olsh_break:
|
||||
p3 = gbranch(ABLO, T);
|
||||
|
||||
// shift == 32
|
||||
p1 = gins(AMOVW, &bh, &al);
|
||||
p1->scond = C_SCOND_EQ;
|
||||
if(bh.type->etype == TINT32)
|
||||
p1 = gshift(AMOVW, &bh, SHIFT_AR, 31, &ah);
|
||||
else
|
||||
p1 = gins(AEOR, &al, &al);
|
||||
p1->scond = C_SCOND_EQ;
|
||||
p1 = gins(AMOVW, &bh, &al);
|
||||
p1 = gins(AEOR, &ah, &ah);
|
||||
p1->scond = C_SCOND_EQ;
|
||||
p4 = gbranch(ABEQ, T);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user