From d735abe5dabf483aafb0ccfb0a70cb7c3b0a5a74 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 31 Oct 2011 01:09:44 -0700 Subject: GCC: Get everything working with gcc 4.6.1. And by "everything" I mean all the quick regressions. --- src/arch/arm/isa/formats/fp.isa | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/arch/arm/isa/formats') diff --git a/src/arch/arm/isa/formats/fp.isa b/src/arch/arm/isa/formats/fp.isa index 812338c30..0cb27d7f1 100644 --- a/src/arch/arm/isa/formats/fp.isa +++ b/src/arch/arm/isa/formats/fp.isa @@ -561,20 +561,22 @@ let {{ } } case 0xa: + if (q) + return new Unknown(machInst); if (b) { - return decodeNeonUSThreeReg( - q, u, size, machInst, vd, vn, vm); + return decodeNeonUSThreeUSReg( + u, size, machInst, vd, vn, vm); } else { - return decodeNeonUSThreeReg( - q, u, size, machInst, vd, vn, vm); + return decodeNeonUSThreeUSReg( + u, size, machInst, vd, vn, vm); } case 0xb: if (b) { - if (u) { + if (u || q) { return new Unknown(machInst); } else { - return decodeNeonUThreeReg( - q, size, machInst, vd, vn, vm); + return decodeNeonUThreeUSReg( + size, machInst, vd, vn, vm); } } else { if (u) { @@ -1542,7 +1544,7 @@ let {{ else return new NVswpD(machInst, vd, vm); case 0x1: - return decodeNeonUTwoMiscReg( + return decodeNeonUTwoMiscSReg( q, size, machInst, vd, vm); case 0x2: return decodeNeonUTwoMiscReg( -- cgit v1.2.3