From 7ab2f71fa86ffc670b1adc8a4a80d7ebe0780b51 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Fri, 27 Apr 2012 18:02:35 +0000 Subject: [PATCH] Add support for SPARC T4 crypto instructions. include/opcode/ * sparc.h: Document new arg code' )' for crypto RS3 immediates. opcodes/ * sparc-dis.c (print_insn_sparc): Handle ')'. * sparc-opc.c (sparc_opcodes): Add crypto instructions. gas/ * config/tc-sparc.c (sparc_ip): Likewise. Accept instruction names containing "_". (sparc_arch_table): Add sparc4, v8pluse, and v9e. Add crypto hwcap masks to v8plusv and v9v. gas/testsuite/ * gas/sparc/crypto.s: New file. * gas/sparc/crypto.d: New file. * gas/sparc/sparc.exp: Run crypto test. --- include/opcode/ChangeLog | 3 +++ include/opcode/sparc.h | 1 + 2 files changed, 4 insertions(+) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index f807cac88..d4fb38402 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,5 +1,8 @@ 2012-04-27 David S. Miller + * sparc.h: Document new arg code' )' for crypto RS3 + immediates. + * sparc.h (struct sparc_opcode): New field 'hwcaps'. F_MUL32, F_DIV32, F_FDMULD, F_V8PLUS, F_POPC, F_VIS, F_VIS2, F_ASI_BLK_INIT, F_FMAF, F_VIS3, F_HPC, F_RANDOM, F_TRANS, diff --git a/include/opcode/sparc.h b/include/opcode/sparc.h index 5d4d3c9e8..b1c5e42ad 100644 --- a/include/opcode/sparc.h +++ b/include/opcode/sparc.h @@ -224,6 +224,7 @@ typedef struct sparc_opcode _ Ancillary state register in rd (v9a) / Ancillary state register in rs1 (v9a) ( entire floating point state register (%efsr) + ) 5 bit immediate placed in RS3 field = 2+8 bit PC relative immediate. (v9) */ #define OP2(x) (((x) & 0x7) << 22) /* Op2 field of format2 insns. */