Commit 1291f79b authored by Jerome Laheurte's avatar Jerome Laheurte Committed by Sebastian Dröge

Fix high-order bit of first register in VPUSH/VPOP generation

CID 1256553
CID 1256554

https://bugzilla.gnome.org/show_bug.cgi?id=727464
parent acdaac31
......@@ -118,7 +118,7 @@ orc_arm_emit_push (OrcCompiler *compiler, int regs, orc_uint32 vregs)
ORC_ASM_CODE(compiler, "-d%d}\n", last+1);
nregs = last + 1 - first + 1;
orc_arm_emit (compiler, 0xed2d0b00 | ((first & 0x10) << 22) | ((first & 0x0f) << 12) | (nregs << 1));
orc_arm_emit (compiler, 0xed2d0b00 | (((first & 0x10) >> 4) << 22) | ((first & 0x0f) << 12) | (nregs << 1));
}
}
......@@ -144,7 +144,7 @@ orc_arm_emit_pop (OrcCompiler *compiler, int regs, orc_uint32 vregs)
ORC_ASM_CODE(compiler, "-d%d}\n", last+1);
nregs = last + 1 - first + 1;
orc_arm_emit (compiler, 0xecbd0b00 | ((first & 0x10) << 22) | ((first & 0x0f) << 12) | (nregs << 1));
orc_arm_emit (compiler, 0xecbd0b00 | (((first & 0x10) >> 4) << 22) | ((first & 0x0f) << 12) | (nregs << 1));
}
if (regs) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment