From a2c875c746a7b9b5dcb94fd93d94ab70286dbbb4 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Tue, 6 Oct 2015 17:26:50 -0700 Subject: x86: implement rcpps and rcpss SSE insts These are packed single-precision approximate reciprocal operations, vector and scalar versions, respectively. This code was basically developed by copying the code for sqrtps and sqrtss. The mrcp micro-op was simplified relative to msqrt since there are no double-precision versions of this operation. --- src/arch/x86/isa/decoder/two_byte_opcodes.isa | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/arch/x86/isa/decoder/two_byte_opcodes.isa') diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa index 0ba7434e8..4a21e2900 100644 --- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa @@ -463,7 +463,7 @@ 0x0: MOVMSKPS(Gd,VRo); 0x1: SQRTPS(Vo,Wo); 0x2: WarnUnimpl::rqsrtps_Vo_Wo(); - 0x3: WarnUnimpl::rcpps_Vo_Wo(); + 0x3: RCPPS(Vo,Wo); 0x4: ANDPS(Vo,Wo); 0x5: ANDNPS(Vo,Wo); 0x6: ORPS(Vo,Wo); @@ -473,7 +473,7 @@ 0x4: decode OPCODE_OP_BOTTOM3 { 0x1: SQRTSS(Vd,Wd); 0x2: WarnUnimpl::rsqrtss_Vd_Wd(); - 0x3: WarnUnimpl::rcpss_Vd_Wd(); + 0x3: RCPSS(Vd,Wd); default: UD2(); } // operand size (0x66) -- cgit v1.2.3