From: Dmitry Selyutin Date: Sun, 28 May 2023 22:04:57 +0000 (+0300) Subject: ppc: support ffnmadds instruction X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc0e00cc21284e261375c926e1d00ddd66abe700;p=binutils-gdb.git ppc: support ffnmadds instruction --- diff --git a/gas/testsuite/gas/ppc/ffnmadds.d b/gas/testsuite/gas/ppc/ffnmadds.d new file mode 100644 index 00000000000..b9fd863f331 --- /dev/null +++ b/gas/testsuite/gas/ppc/ffnmadds.d @@ -0,0 +1,14 @@ +#as: -mlibresoc +#objdump: -dr -Mlibresoc + +.*: file format .* + + +Disassembly of section \.text: +0+ <\.text>: +.*:\s+(ef e0 00 0e|0e 00 e0 ef)\s+ffnmadds\s+f31,f0,f0 +.*:\s+(ec 1f 00 0e|0e 00 1f ec)\s+ffnmadds\s+f0,f31,f0 +.*:\s+(ec 00 f8 0e|0e f8 00 ec)\s+ffnmadds\s+f0,f0,f31 +.*:\s+(ef e0 00 0f|0f 00 e0 ef)\s+ffnmadds.\s+f31,f0,f0 +.*:\s+(ec 1f 00 0f|0f 00 1f ec)\s+ffnmadds.\s+f0,f31,f0 +.*:\s+(ec 00 f8 0f|0f f8 00 ec)\s+ffnmadds.\s+f0,f0,f31 diff --git a/gas/testsuite/gas/ppc/ffnmadds.s b/gas/testsuite/gas/ppc/ffnmadds.s new file mode 100644 index 00000000000..6bcae7bed6d --- /dev/null +++ b/gas/testsuite/gas/ppc/ffnmadds.s @@ -0,0 +1,6 @@ +ffnmadds 31,0,0 +ffnmadds 0,31,0 +ffnmadds 0,0,31 +ffnmadds. 31,0,0 +ffnmadds. 0,31,0 +ffnmadds. 0,0,31 diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index 222363e7f1c..18c7ba0d842 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -178,3 +178,4 @@ run_dump_test "minmax" run_dump_test "ffmsubs" run_dump_test "ffmadds" run_dump_test "ffnmsubs" +run_dump_test "ffnmadds" diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 315a884f926..63507983c66 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -9194,6 +9194,9 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"ffnmsubs", A(59,6,0), AFRC_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, {"ffnmsubs.", A(59,6,1), AFRC_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"ffnmadds", A(59,7,0), AFRC_MASK, SFFS, PPCVLE, {FRT, FRA, FRB}}, +{"ffnmadds.", A(59,7,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}},