diff options
author | Mike Pall <mike> | 2011-12-13 18:05:51 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-12-13 18:05:51 +0100 |
commit | a064156d5de8503d63bba271f1fb5a14c75ca18b (patch) | |
tree | 90067f35c63c5a7f6b08443dd2ffa91128e12922 /src/lj_asm_ppc.h | |
parent | 03c51fc578fce2f9133e1b5baab27fae0065da6f (diff) | |
download | luajit-a064156d5de8503d63bba271f1fb5a14c75ca18b.tar.gz luajit-a064156d5de8503d63bba271f1fb5a14c75ca18b.tar.bz2 luajit-a064156d5de8503d63bba271f1fb5a14c75ca18b.zip |
PPC: Avoid undefined operand dereference in BAND/shift fusion.
Diffstat (limited to 'src/lj_asm_ppc.h')
-rw-r--r-- | src/lj_asm_ppc.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h index 490ad816..f3f9e2e0 100644 --- a/src/lj_asm_ppc.h +++ b/src/lj_asm_ppc.h | |||
@@ -1490,7 +1490,7 @@ static void asm_fuseandsh(ASMState *as, PPCIns pi, int32_t mask, IRRef ref) | |||
1490 | IRIns *ir; | 1490 | IRIns *ir; |
1491 | Reg left; | 1491 | Reg left; |
1492 | if (mayfuse(as, ref) && (ir = IR(ref), ra_noreg(ir->r)) && | 1492 | if (mayfuse(as, ref) && (ir = IR(ref), ra_noreg(ir->r)) && |
1493 | irref_isk(ir->op2)) { | 1493 | irref_isk(ir->op2) && ir->o >= IR_BSHL && ir->o <= IR_BROR) { |
1494 | int32_t sh = (IR(ir->op2)->i & 31); | 1494 | int32_t sh = (IR(ir->op2)->i & 31); |
1495 | switch (ir->o) { | 1495 | switch (ir->o) { |
1496 | case IR_BSHL: | 1496 | case IR_BSHL: |