diff options
| author | Alex Bradbury <asb@lowrisc.org> | 2017-12-07 10:59:12 +0000 |
|---|---|---|
| committer | Alex Bradbury <asb@lowrisc.org> | 2017-12-07 10:59:12 +0000 |
| commit | 48f95a655d61c4526f67b10f307a9ba2fe28352a (patch) | |
| tree | dc0694c514cd145db3dc9564f1aa110353b373e5 /llvm/lib/Target/RISCV | |
| parent | 81def7224ecca013eafc3c6402df18f6af791e41 (diff) | |
| download | bcm5719-llvm-48f95a655d61c4526f67b10f307a9ba2fe28352a.tar.gz bcm5719-llvm-48f95a655d61c4526f67b10f307a9ba2fe28352a.zip | |
[RISCV] MC layer support for the standard RV64A instruction set extension
llvm-svn: 320027
Diffstat (limited to 'llvm/lib/Target/RISCV')
| -rw-r--r-- | llvm/lib/Target/RISCV/RISCVInstrInfoA.td | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfoA.td b/llvm/lib/Target/RISCV/RISCVInstrInfoA.td index 54f35c3c0ba..33e863ba6a1 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfoA.td +++ b/llvm/lib/Target/RISCV/RISCVInstrInfoA.td @@ -61,3 +61,17 @@ defm AMOMAX_W : AMO_rr_aq_rl<0b10100, 0b010, "amomax.w">; defm AMOMINU_W : AMO_rr_aq_rl<0b11000, 0b010, "amominu.w">; defm AMOMAXU_W : AMO_rr_aq_rl<0b11100, 0b010, "amomaxu.w">; } // Predicates = [HasStdExtA] + +let Predicates = [HasStdExtA, IsRV64] in { +defm LR_D : LR_r_aq_rl<0b011, "lr.d">; +defm SC_D : AMO_rr_aq_rl<0b00011, 0b011, "sc.d">; +defm AMOSWAP_D : AMO_rr_aq_rl<0b00001, 0b011, "amoswap.d">; +defm AMOADD_D : AMO_rr_aq_rl<0b00000, 0b011, "amoadd.d">; +defm AMOXOR_D : AMO_rr_aq_rl<0b00100, 0b011, "amoxor.d">; +defm AMOAND_D : AMO_rr_aq_rl<0b01100, 0b011, "amoand.d">; +defm AMOOR_D : AMO_rr_aq_rl<0b01000, 0b011, "amoor.d">; +defm AMOMIN_D : AMO_rr_aq_rl<0b10000, 0b011, "amomin.d">; +defm AMOMAX_D : AMO_rr_aq_rl<0b10100, 0b011, "amomax.d">; +defm AMOMINU_D : AMO_rr_aq_rl<0b11000, 0b011, "amominu.d">; +defm AMOMAXU_D : AMO_rr_aq_rl<0b11100, 0b011, "amomaxu.d">; +} // Predicates = [HasStedExtA, IsRV64] |

