From d22ad02c3dc33636d1585f6c36af6726da1f6bcd Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Mon, 29 May 2023 01:04:57 +0300 Subject: [PATCH] ppc: support ffnmsubs instruction --- gas/testsuite/gas/ppc/ffnmsubs.d | 14 ++++++++++++++ gas/testsuite/gas/ppc/ffnmsubs.s | 6 ++++++ gas/testsuite/gas/ppc/ppc.exp | 1 + opcodes/ppc-opc.c | 3 +++ 4 files changed, 24 insertions(+) create mode 100644 gas/testsuite/gas/ppc/ffnmsubs.d create mode 100644 gas/testsuite/gas/ppc/ffnmsubs.s diff --git a/gas/testsuite/gas/ppc/ffnmsubs.d b/gas/testsuite/gas/ppc/ffnmsubs.d new file mode 100644 index 00000000000..b362c2eb1a2 --- /dev/null +++ b/gas/testsuite/gas/ppc/ffnmsubs.d @@ -0,0 +1,14 @@ +#as: -mlibresoc +#objdump: -dr -Mlibresoc + +.*: file format .* + + +Disassembly of section \.text: +0+ <\.text>: +.*:\s+(ef e0 00 0c|0c 00 e0 ef)\s+ffnmsubs\s+f31,f0,f0 +.*:\s+(ec 1f 00 0c|0c 00 1f ec)\s+ffnmsubs\s+f0,f31,f0 +.*:\s+(ec 00 f8 0c|0c f8 00 ec)\s+ffnmsubs\s+f0,f0,f31 +.*:\s+(ef e0 00 0d|0d 00 e0 ef)\s+ffnmsubs.\s+f31,f0,f0 +.*:\s+(ec 1f 00 0d|0d 00 1f ec)\s+ffnmsubs.\s+f0,f31,f0 +.*:\s+(ec 00 f8 0d|0d f8 00 ec)\s+ffnmsubs.\s+f0,f0,f31 diff --git a/gas/testsuite/gas/ppc/ffnmsubs.s b/gas/testsuite/gas/ppc/ffnmsubs.s new file mode 100644 index 00000000000..9d33c9ef792 --- /dev/null +++ b/gas/testsuite/gas/ppc/ffnmsubs.s @@ -0,0 +1,6 @@ +ffnmsubs 31,0,0 +ffnmsubs 0,31,0 +ffnmsubs 0,0,31 +ffnmsubs. 31,0,0 +ffnmsubs. 0,31,0 +ffnmsubs. 0,0,31 diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index fb26dc57146..222363e7f1c 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -177,3 +177,4 @@ run_dump_test "maddedus" run_dump_test "minmax" run_dump_test "ffmsubs" run_dump_test "ffmadds" +run_dump_test "ffnmsubs" diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 8b7174c649c..315a884f926 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -9191,6 +9191,9 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"ffmadds", A(59,5,0), AFRC_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, {"ffmadds.", A(59,5,1), AFRC_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"ffnmsubs", A(59,6,0), AFRC_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"ffnmsubs.", A(59,6,1), AFRC_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, + {"fdivs", A(59,18,0), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, {"fdivs.", A(59,18,1), AFRC_MASK, PPC, PPCEFS|PPCVLE, {FRT, FRA, FRB}}, -- 2.30.2