summaryrefslogtreecommitdiff
path: root/cpu
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2020-01-30 13:59:04 +0100
committerJose E. Marchesi <jose.marchesi@oracle.com>2020-01-30 13:59:04 +0100
commitbd434cc4d94ec3d2f9fc1e7c00c27b074f962bc1 (patch)
treee540d06b08147d050683984b1d5438a4d3af1f42 /cpu
parentaeab2b26dbea33221db4debaf31c97277cfaea5e (diff)
downloadbinutils-gdb-bd434cc4d94ec3d2f9fc1e7c00c27b074f962bc1.tar.gz
cpu,opcodes,gas: fix neg and neg32 instructions in BPF
This patch fixes the neg/neg32 BPF instructions, which have K (=0) instead of X (=1) in their header source bit, despite operating on registes. cpu/ChangeLog: 2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com> * bpf.cpu (define-alu-insn-un): The unary BPF instructions (neg and neg32) use OP_SRC_K even if they operate only in registers. opcodes/ChangeLog: 2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com> * bpf-opc.c: Regenerate. gas/ChangeLog: 2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com> * testsuite/gas/bpf/alu.d: Update expected opcode for `neg'. * testsuite/gas/bpf/alu-be.d: Likewise. * testsuite/gas/bpf/alu32.d: Likewise for `neg32'. * testsuite/gas/bpf/alu32-be.d: Likewise.
Diffstat (limited to 'cpu')
-rw-r--r--cpu/ChangeLog6
-rw-r--r--cpu/bpf.cpu2
2 files changed, 7 insertions, 1 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog
index 6bd48c56aa4..b6a1e3a396a 100644
--- a/cpu/ChangeLog
+++ b/cpu/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * bpf.cpu (define-alu-insn-un): The unary BPF instructions
+ (neg and neg32) use OP_SRC_K even if they operate only in
+ registers.
+
2020-01-18 Nick Clifton <nickc@redhat.com>
Binutils 2.34 branch created.
diff --git a/cpu/bpf.cpu b/cpu/bpf.cpu
index d5a8eacc05f..1378bda94d4 100644
--- a/cpu/bpf.cpu
+++ b/cpu/bpf.cpu
@@ -373,7 +373,7 @@
((ISA (.sym ebpf x-endian)))
(.str x-basename x-suffix " $dst" x-endian)
(+ (f-imm32 0) (f-offset16 0) ((.sym f-src x-endian) 0) (.sym dst x-endian)
- x-op-class OP_SRC_X x-op-code) () ()))
+ x-op-class OP_SRC_K x-op-code) () ()))
(define-pmacro (define-alu-insn-bin x-basename x-suffix x-op-class x-op-code x-endian)
(begin