From fc9424e7ac831bff3523bcafb7f4c74a8baa3b77 Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Wed, 26 Jul 2023 20:40:26 -0500 Subject: [PATCH 1/5] cover group format files for zacas for RV32 and RV64 --- coverage/rv32zacas.cgf | 36 ++++++++++++++++++++++++++++ coverage/rv64zacas.cgf | 54 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 coverage/rv32zacas.cgf create mode 100644 coverage/rv64zacas.cgf diff --git a/coverage/rv32zacas.cgf b/coverage/rv32zacas.cgf new file mode 100644 index 000000000..3a85cd7b6 --- /dev/null +++ b/coverage/rv32zacas.cgf @@ -0,0 +1,36 @@ +# cover group format file for Zacas extension +amocas.w: + config: + - check ISA:=regex(.*Zacas.*) + opcode: + amocas.w: 0 + rs1: + <<: *all_regs + rs2: + <<: *all_regs + rd: + <<: *all_regs + op_comb: + <<: *zacas_op_comb + val_comb: + <<: [*base_rs1val_sgn, *base_rs2val_sgn] + abstract_comb: + <<: [*rs1val_walking, *rs2val_walking] + +amocas.d_32: + config: + - check ISA:=regex(.*Zacas.*) + opcode: + amocas.d_32: 0 + rs1: + <<: *all_regs + rs2: + <<: *pair_regs + rd: + <<: *pair_regs + op_comb: + <<: *zacas_op_comb + val_comb: + <<: [*zacas_dcas_rs1val_sgn, *zacas_dcas_rs2val_sgn, *rfmt_val_comb_sgn] + abstract_comb: + <<: [*zacas64_rs1val_walking_sgn, *zacas64_rs2val_walking_sgn] diff --git a/coverage/rv64zacas.cgf b/coverage/rv64zacas.cgf new file mode 100644 index 000000000..3ae3f2295 --- /dev/null +++ b/coverage/rv64zacas.cgf @@ -0,0 +1,54 @@ +# cover group format file for Zacas extension +amocas.w: + config: + - check ISA:=regex(.*Zacas.*) + opcode: + amocas.w: 0 + rs1: + <<: *all_regs + rs2: + <<: *all_regs + rd: + <<: *all_regs + op_comb: + <<: *zacas_op_comb + val_comb: + <<: [*base_rs1val_sgn, *base_rs2val_sgn] + abstract_comb: + <<: [*rs1val_walking, *rs2val_walking] + +amocas.d_64: + config: + - check ISA:=regex(.*Zacas.*) + opcode: + amocas.d_64: 0 + rs1: + <<: *all_regs + rs2: + <<: *all_regs + rd: + <<: *all_regs + op_comb: + <<: *zacas_op_comb + val_comb: + <<: [*base_rs1val_sgn, *base_rs2val_sgn, *rfmt_val_comb_sgn] + abstract_comb: + <<: [*rs1val_walking, *rs2val_walking] + +amocas.q: + config: + - check ISA:=regex(.*Zacas.*) + opcode: + amocas.q: 0 + rs1: + <<: *all_regs + rs2: + <<: *pair_regs + rd: + <<: *pair_regs + op_comb: + <<: *zacas_op_comb + val_comb: + <<: [*zacas_dcas_rs1val_sgn, *zacas_dcas_rs2val_sgn, *rfmt_val_comb_sgn] + abstract_comb: + <<: [*zacas128_rs1val_walking_sgn, *zacas128_rs2val_walking_sgn] From afc0ebfdb672c3242ec23d1634bb1e5c7127b7ac Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Wed, 26 Jul 2023 20:41:41 -0500 Subject: [PATCH 2/5] data generators for zacas --- coverage/dataset.cgf | 107 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/coverage/dataset.cgf b/coverage/dataset.cgf index d78691006..1f3426e7c 100644 --- a/coverage/dataset.cgf +++ b/coverage/dataset.cgf @@ -144,6 +144,23 @@ datasets: x30: 0 x31: 0 + pair_regs: &pair_regs + x2: 0 + x4: 0 + x6: 0 + x8: 0 + x10: 0 + x12: 0 + x14: 0 + x16: 0 + x18: 0 + x20: 0 + x22: 0 + x24: 0 + x26: 0 + x28: 0 + x30: 0 + cbfmt_immval_sgn: &cbfmt_immval_sgn 'imm_val == (-2**(6-1))': 0 'imm_val == 0': 0 @@ -321,3 +338,93 @@ datasets: 'walking_zeros("imm_val", 12,False)': 0 'alternate("imm_val",12,False)': 0 + rvp64_rs1val_sgn: &rvp64_rs1val_sgn + 'rs1_val == (-2**63)': 0 + 'rs1_val == 0': 0 + 'rs1_val == (2**63-1)': 0 + 'rs1_val == 1': 0 + + rvp64_rs2val_sgn: &rvp64_rs2val_sgn + 'rs2_val == (-2**63)': 0 + 'rs2_val == 0': 0 + 'rs2_val == (2**63-1)': 0 + 'rs2_val == 1': 0 + + rvp64_rs1val_unsgn: &rvp64_rs1val_unsgn + 'rs1_val == 0': 0 + 'rs1_val == (2**64-1)': 0 + 'rs1_val == 1': 0 + + rvp64_rs2val_unsgn: &rvp64_rs2val_unsgn + 'rs2_val == 0': 0 + 'rs2_val == (2**64-1)': 0 + 'rs2_val == 1': 0 + + rvp64_rs1val_walking_sgn: &rvp64_rs1val_walking_sgn + 'walking_ones("rs1_val", 64)': 0 + 'walking_zeros("rs1_val", 64)': 0 + 'alternate("rs1_val",64)': 0 + + rvp64_rs2val_walking_sgn: &rvp64_rs2val_walking_sgn + 'walking_ones("rs2_val", 64)': 0 + 'walking_zeros("rs2_val", 64)': 0 + 'alternate("rs2_val",64)': 0 + + rvp64_rs1val_walking_unsgn: &rvp64_rs1val_walking_unsgn + 'walking_ones("rs1_val", 64, signed=False)': 0 + 'walking_zeros("rs1_val", 64, signed=False)': 0 + 'alternate("rs1_val",64, signed=False)': 0 + + rvp64_rs2val_walking_unsgn: &rvp64_rs2val_walking_unsgn + 'walking_ones("rs2_val", 64, signed=False)': 0 + 'walking_zeros("rs2_val", 64, signed=False)': 0 + 'alternate("rs2_val",64, signed=False)': 0 + + rvp128_rs1val_sgn: &rvp128_rs1val_sgn + 'rs1_val == 0': 0 + 'rs1_val == 1': 0 + + rvp128_rs2val_sgn: &rvp128_rs2val_sgn + 'rs2_val == 0': 0 + 'rs2_val == 1': 0 + + rvp128_rs1val_walking_sgn: &rvp128_rs1val_walking_sgn + 'walking_ones("rs1_val", 128)': 0 + 'walking_zeros("rs1_val", 128)': 0 + 'alternate("rs1_val",128)': 0 + + rvp128_rs2val_walking_sgn: &rvp128_rs2val_walking_sgn + 'walking_ones("rs2_val", 128)': 0 + 'walking_zeros("rs2_val", 128)': 0 + 'alternate("rs2_val",128)': 0 + + zacas_op_comb: &zacas_op_comb + 'rs1 != rs2 and rs1 != rd and rs2 != rd': 0 + + zacas_dcas_rs1val_sgn: &zacas_dcas_rs1val_sgn + 'rs1_val == 0': 0 + 'rs1_val == 1': 0 + + zacas_dcas_rs2val_sgn: &zacas_dcas_rs2val_sgn + 'rs2_val == 0': 0 + 'rs2_val == 1': 0 + + zacas128_rs1val_walking_sgn: &zacas128_rs1val_walking_sgn + 'walking_ones("rs1_val", 128)': 0 + 'walking_zeros("rs1_val", 128)': 0 + 'alternate("rs1_val",128)': 0 + + zacas128_rs2val_walking_sgn: &zacas128_rs2val_walking_sgn + 'walking_ones("rs2_val", 128)': 0 + 'walking_zeros("rs2_val", 128)': 0 + 'alternate("rs2_val",128)': 0 + + zacas64_rs1val_walking_sgn: &zacas64_rs1val_walking_sgn + 'walking_ones("rs1_val", 64)': 0 + 'walking_zeros("rs1_val", 64)': 0 + 'alternate("rs1_val",64)': 0 + + zacas64_rs2val_walking_sgn: &zacas64_rs2val_walking_sgn + 'walking_ones("rs2_val", 64)': 0 + 'walking_zeros("rs2_val", 64)': 0 + 'alternate("rs2_val",64)': 0 From 27a495f98c6186416a16450149f042e695231e50 Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Fri, 28 Jul 2023 06:54:32 -0500 Subject: [PATCH 3/5] Add support for Zacas ISA extension --- coverage/rv32zacas.cgf | 4 +- coverage/rv64zacas.cgf | 6 +- riscv-test-suite/env/test_macros.h | 50 + .../rv32i_m/Zacas/src/amocas.d_32-01.S | 1416 +++++++++ .../rv32i_m/Zacas/src/amocas.w-01.S | 761 +++++ .../rv64i_m/Zacas/src/amocas.d_64-01.S | 1421 +++++++++ .../rv64i_m/Zacas/src/amocas.q-01.S | 2701 +++++++++++++++++ .../rv64i_m/Zacas/src/amocas.w-01.S | 1411 +++++++++ 8 files changed, 7765 insertions(+), 5 deletions(-) create mode 100644 riscv-test-suite/rv32i_m/Zacas/src/amocas.d_32-01.S create mode 100644 riscv-test-suite/rv32i_m/Zacas/src/amocas.w-01.S create mode 100644 riscv-test-suite/rv64i_m/Zacas/src/amocas.d_64-01.S create mode 100644 riscv-test-suite/rv64i_m/Zacas/src/amocas.q-01.S create mode 100644 riscv-test-suite/rv64i_m/Zacas/src/amocas.w-01.S diff --git a/coverage/rv32zacas.cgf b/coverage/rv32zacas.cgf index 3a85cd7b6..6569f3ba2 100644 --- a/coverage/rv32zacas.cgf +++ b/coverage/rv32zacas.cgf @@ -5,7 +5,7 @@ amocas.w: opcode: amocas.w: 0 rs1: - <<: *all_regs + <<: *all_regs_mx0 rs2: <<: *all_regs rd: @@ -23,7 +23,7 @@ amocas.d_32: opcode: amocas.d_32: 0 rs1: - <<: *all_regs + <<: *all_regs_mx0 rs2: <<: *pair_regs rd: diff --git a/coverage/rv64zacas.cgf b/coverage/rv64zacas.cgf index 3ae3f2295..4acc4a1e7 100644 --- a/coverage/rv64zacas.cgf +++ b/coverage/rv64zacas.cgf @@ -5,7 +5,7 @@ amocas.w: opcode: amocas.w: 0 rs1: - <<: *all_regs + <<: *all_regs_mx0 rs2: <<: *all_regs rd: @@ -23,7 +23,7 @@ amocas.d_64: opcode: amocas.d_64: 0 rs1: - <<: *all_regs + <<: *all_regs_mx0 rs2: <<: *all_regs rd: @@ -41,7 +41,7 @@ amocas.q: opcode: amocas.q: 0 rs1: - <<: *all_regs + <<: *all_regs_mx0 rs2: <<: *pair_regs rd: diff --git a/riscv-test-suite/env/test_macros.h b/riscv-test-suite/env/test_macros.h index 6426d92f8..17ba2a4ed 100644 --- a/riscv-test-suite/env/test_macros.h +++ b/riscv-test-suite/env/test_macros.h @@ -933,6 +933,56 @@ RVTEST_SIGUPD_F(swreg,destreg,flagreg) sub x1,x1,tempreg ;\ RVTEST_SIGUPD(swreg,x1,offset) +// for updating signatures of Zacas paired destination register (RV32/RV64). +#define RVTEST_SIGUPD_PZACAS(_BR,_R1,_R2,...) ;\ + .if NARG(__VA_ARGS__) == 1 ;\ + .set offset,_ARG1(__VA_OPT__(__VA_ARGS__,0)) ;\ + .endif ;\ + .if (offset & (REGWIDTH-1)) != 0 ;\ + .warning "Signature Incorrect Offset Alignment." ;\ + .set offset, offset&(SIGALIGN-1)+SIGALIGN ;\ + .endif ;\ + CHK_OFFSET(_BR,REGWIDTH,0) ;\ + SREG _R1,offset(_BR) ;\ + CHK_OFFSET(_BR,REGWIDTH,1) ;\ + SREG _R2,offset(_BR) ;\ + .set offset,offset+(REGWIDTH) + +// Tests for a AMOCAS where operation width is <= xlen +// First store a value that will cause a mismatch on cas +// Test a failing amocas followed by a successful amocas +#define TEST_CAS_OP(inst, rd, rs1, rs2, swap_val, sigptr, offset) \ + LI(rd, swap_val);\ + neg rd, rd;\ + LA(rs1, rvtest_data);\ + SREG rd, (rs1);\ + LI(rd, swap_val);\ + LI(rs2, swap_val);\ + LA(rs1, rvtest_data);\ + inst rd, rs2, (rs1);\ + inst rd, rs2, (rs1);\ + RVTEST_SIGUPD(sigptr,rd,offset); + +// Tests for a AMOCAS where operation width is <= xlen +// First store a value that will cause a mismatch on cas +// Test a failing amocas followed by a successful amocas +#define TEST_DCAS_OP(inst, rd, rd_hi, rs1, rs2, rs2_hi, swap_val, swap_val_hi, sigptr, offset) \ + LA(rs1, rvtest_data);\ + LI(rd, swap_val);\ + neg rd, rd;\ + SREG rd, (rs1);\ + LI(rd, swap_val_hi);\ + neg rd, rd;\ + SREG rd, (__riscv_xlen/8)(rs1);\ + LI(rd, swap_val);\ + LI(rd_hi, swap_val_hi);\ + LI(rs2, swap_val);\ + LI(rs2_hi, swap_val_hi);\ + LA(rs1, rvtest_data);\ + inst rd, rs2, (rs1);\ + LA(rs1, rvtest_data);\ + inst rd, rs2, (rs1);\ + RVTEST_SIGUPD_PZACAS(sigptr,rd,rd_hi,offset); //--------------------------------- Migration aliases ------------------------------------------ #ifdef RV_COMPLIANCE_RV32M diff --git a/riscv-test-suite/rv32i_m/Zacas/src/amocas.d_32-01.S b/riscv-test-suite/rv32i_m/Zacas/src/amocas.d_32-01.S new file mode 100644 index 000000000..8d4525aca --- /dev/null +++ b/riscv-test-suite/rv32i_m/Zacas/src/amocas.d_32-01.S @@ -0,0 +1,1416 @@ + +// ----------- +// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg) +// version : 0.11.0 +// timestamp : Fri Jul 28 01:24:06 2023 GMT +// usage : riscv_ctg \ +// -- cgf // --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/dataset.cgf \ +// --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/rv32zacas.cgf \ + \ +// -- xlen 32 \ +// ----------- +// +// ----------- +// Copyright (c) 2020. RISC-V International. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// ----------- +// +// This assembly file tests the amocas.d_32 instruction of the RISC-V RV32Zacas extension for the amocas.d_32 covergroup. +// +#include "model_test.h" +#include "arch_test.h" +RVTEST_ISA("RV32IZacas") + +.section .text.init +.globl rvtest_entry_point +rvtest_entry_point: +RVMODEL_BOOT +RVTEST_CODE_BEGIN + +#ifdef TEST_CASE_1 + +RVTEST_CASE(0,"//check ISA:=regex(.*Zacas.*);def TEST_CASE_1=True;",amocas.d_32) + +RVTEST_SIGBASE(x1,signature_x1_1) + +inst_0: +// rs1 != rs2 and rs1 != rd and rs2 != rd, rs1==x31, rs2==x26, rd==x28, rs1_val != rs2_val, rs1_val < 0 and rs2_val < 0, rs2_val == -2 +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xfffffffe, 0xffffffff); swreg:x1; 0*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xfffffffe, 0xffffffff, x1, 0*XLEN/8); + +inst_1: +// rs1==x30, rs2==x28, rd==x26, rs1_val < 0 and rs2_val > 0, rs2_val == 6148914691236517205 +// opcode: amocas.d_32 ; dest(x26, x27) addr:x30; src:(x28, x29); swap_val:(0x55555555, 0x55555555); swreg:x1; 2*XLEN/8 +TEST_DCAS_OP(amocas.d, x26, x27, x30, x28, x29, 0x55555555, 0x55555555, x1, 2*XLEN/8); + +inst_2: +// rs1==x29, rs2==x22, rd==x24, rs1_val == 0, +// opcode: amocas.d_32 ; dest(x24, x25) addr:x29; src:(x22, x23); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 4*XLEN/8 +TEST_DCAS_OP(amocas.d, x24, x25, x29, x22, x23, 0xffffffff, 0xffffffff, x1, 4*XLEN/8); + +inst_3: +// rs1==x28, rs2==x24, rd==x22, rs1_val == 1, rs1_val > 0 and rs2_val < 0 +// opcode: amocas.d_32 ; dest(x22, x23) addr:x28; src:(x24, x25); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 6*XLEN/8 +TEST_DCAS_OP(amocas.d, x22, x23, x28, x24, x25, 0xffffffff, 0xffffffff, x1, 6*XLEN/8); + +inst_4: +// rs1==x27, rs2==x18, rd==x20, rs1_val == rs2_val, +// opcode: amocas.d_32 ; dest(x20, x21) addr:x27; src:(x18, x19); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 8*XLEN/8 +TEST_DCAS_OP(amocas.d, x20, x21, x27, x18, x19, 0xffffffff, 0xffffffff, x1, 8*XLEN/8); + +inst_5: +// rs1==x26, rs2==x20, rd==x18, rs2_val == -3, +// opcode: amocas.d_32 ; dest(x18, x19) addr:x26; src:(x20, x21); swap_val:(0xfffffffd, 0xffffffff); swreg:x1; 10*XLEN/8 +TEST_DCAS_OP(amocas.d, x18, x19, x26, x20, x21, 0xfffffffd, 0xffffffff, x1, 10*XLEN/8); + +inst_6: +// rs1==x25, rs2==x14, rd==x16, rs2_val == -5, +// opcode: amocas.d_32 ; dest(x16, x17) addr:x25; src:(x14, x15); swap_val:(0xfffffffb, 0xffffffff); swreg:x1; 12*XLEN/8 +TEST_DCAS_OP(amocas.d, x16, x17, x25, x14, x15, 0xfffffffb, 0xffffffff, x1, 12*XLEN/8); + +inst_7: +// rs1==x24, rs2==x16, rd==x14, rs2_val == -9, +// opcode: amocas.d_32 ; dest(x14, x15) addr:x24; src:(x16, x17); swap_val:(0xfffffff7, 0xffffffff); swreg:x1; 14*XLEN/8 +TEST_DCAS_OP(amocas.d, x14, x15, x24, x16, x17, 0xfffffff7, 0xffffffff, x1, 14*XLEN/8); + +inst_8: +// rs1==x23, rs2==x10, rd==x12, rs2_val == -17, +// opcode: amocas.d_32 ; dest(x12, x13) addr:x23; src:(x10, x11); swap_val:(0xffffffef, 0xffffffff); swreg:x1; 16*XLEN/8 +TEST_DCAS_OP(amocas.d, x12, x13, x23, x10, x11, 0xffffffef, 0xffffffff, x1, 16*XLEN/8); + +inst_9: +// rs1==x22, rs2==x12, rd==x10, rs2_val == -33, +// opcode: amocas.d_32 ; dest(x10, x11) addr:x22; src:(x12, x13); swap_val:(0xffffffdf, 0xffffffff); swreg:x1; 18*XLEN/8 +TEST_DCAS_OP(amocas.d, x10, x11, x22, x12, x13, 0xffffffdf, 0xffffffff, x1, 18*XLEN/8); + +inst_10: +// rs1==x21, rs2==x6, rd==x8, rs2_val == -65, +// opcode: amocas.d_32 ; dest(x8, x9) addr:x21; src:(x6, x7); swap_val:(0xffffffbf, 0xffffffff); swreg:x1; 20*XLEN/8 +TEST_DCAS_OP(amocas.d, x8, x9, x21, x6, x7, 0xffffffbf, 0xffffffff, x1, 20*XLEN/8); +RVTEST_SIGBASE(x21,signature_x21_0) + +inst_11: +// rs1==x20, rs2==x8, rd==x6, rs2_val == -129, +// opcode: amocas.d_32 ; dest(x6, x7) addr:x20; src:(x8, x9); swap_val:(0xffffff7f, 0xffffffff); swreg:x21; 0*XLEN/8 +TEST_DCAS_OP(amocas.d, x6, x7, x20, x8, x9, 0xffffff7f, 0xffffffff, x21, 0*XLEN/8); + +inst_12: +// rs1==x19, rs2==x2, rd==x4, rs2_val == -257, +// opcode: amocas.d_32 ; dest(x4, x5) addr:x19; src:(x2, x3); swap_val:(0xfffffeff, 0xffffffff); swreg:x21; 2*XLEN/8 +TEST_DCAS_OP(amocas.d, x4, x5, x19, x2, x3, 0xfffffeff, 0xffffffff, x21, 2*XLEN/8); + +inst_13: +// rs1==x18, rs2==x4, rd==x2, rs2_val == -513, +// opcode: amocas.d_32 ; dest(x2, x3) addr:x18; src:(x4, x5); swap_val:(0xfffffdff, 0xffffffff); swreg:x21; 4*XLEN/8 +TEST_DCAS_OP(amocas.d, x2, x3, x18, x4, x5, 0xfffffdff, 0xffffffff, x21, 4*XLEN/8); + +inst_14: +// rs1==x17, rs2_val == -1025, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x17; src:(x26, x27); swap_val:(0xfffffbff, 0xffffffff); swreg:x21; 6*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x17, x26, x27, 0xfffffbff, 0xffffffff, x21, 6*XLEN/8); + +inst_15: +// rs1==x16, rs2_val == -2049, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x16; src:(x26, x27); swap_val:(0xfffff7ff, 0xffffffff); swreg:x21; 8*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x16, x26, x27, 0xfffff7ff, 0xffffffff, x21, 8*XLEN/8); + +inst_16: +// rs1==x15, rs2_val == -4097, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x15; src:(x26, x27); swap_val:(0xffffefff, 0xffffffff); swreg:x21; 10*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x15, x26, x27, 0xffffefff, 0xffffffff, x21, 10*XLEN/8); + +inst_17: +// rs1==x14, rs2_val == -8193, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x14; src:(x26, x27); swap_val:(0xffffdfff, 0xffffffff); swreg:x21; 12*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x14, x26, x27, 0xffffdfff, 0xffffffff, x21, 12*XLEN/8); + +inst_18: +// rs1==x13, rs2_val == -16385, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x13; src:(x26, x27); swap_val:(0xffffbfff, 0xffffffff); swreg:x21; 14*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x13, x26, x27, 0xffffbfff, 0xffffffff, x21, 14*XLEN/8); + +inst_19: +// rs1==x12, rs2_val == -32769, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x12; src:(x26, x27); swap_val:(0xffff7fff, 0xffffffff); swreg:x21; 16*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x12, x26, x27, 0xffff7fff, 0xffffffff, x21, 16*XLEN/8); + +inst_20: +// rs1==x11, rs2_val == -65537, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x11; src:(x26, x27); swap_val:(0xfffeffff, 0xffffffff); swreg:x21; 18*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x11, x26, x27, 0xfffeffff, 0xffffffff, x21, 18*XLEN/8); + +inst_21: +// rs1==x10, rs2_val == -131073, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x10; src:(x26, x27); swap_val:(0xfffdffff, 0xffffffff); swreg:x21; 20*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x10, x26, x27, 0xfffdffff, 0xffffffff, x21, 20*XLEN/8); + +inst_22: +// rs1==x9, rs2_val == -262145, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x9; src:(x26, x27); swap_val:(0xfffbffff, 0xffffffff); swreg:x21; 22*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x9, x26, x27, 0xfffbffff, 0xffffffff, x21, 22*XLEN/8); + +inst_23: +// rs1==x8, rs2_val == -524289, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x8; src:(x26, x27); swap_val:(0xfff7ffff, 0xffffffff); swreg:x21; 24*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x8, x26, x27, 0xfff7ffff, 0xffffffff, x21, 24*XLEN/8); + +inst_24: +// rs1==x7, rs2_val == -1048577, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x7; src:(x26, x27); swap_val:(0xffefffff, 0xffffffff); swreg:x21; 26*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x7, x26, x27, 0xffefffff, 0xffffffff, x21, 26*XLEN/8); + +inst_25: +// rs1==x6, rs2_val == -2097153, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x6; src:(x26, x27); swap_val:(0xffdfffff, 0xffffffff); swreg:x21; 28*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x6, x26, x27, 0xffdfffff, 0xffffffff, x21, 28*XLEN/8); + +inst_26: +// rs1==x5, rs2_val == -4194305, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x5; src:(x26, x27); swap_val:(0xffbfffff, 0xffffffff); swreg:x21; 30*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x5, x26, x27, 0xffbfffff, 0xffffffff, x21, 30*XLEN/8); + +inst_27: +// rs1==x4, rs2_val == -8388609, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x4; src:(x26, x27); swap_val:(0xff7fffff, 0xffffffff); swreg:x21; 32*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x4, x26, x27, 0xff7fffff, 0xffffffff, x21, 32*XLEN/8); + +inst_28: +// rs1==x3, rs2_val == -16777217, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x3; src:(x26, x27); swap_val:(0xfeffffff, 0xffffffff); swreg:x21; 34*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x3, x26, x27, 0xfeffffff, 0xffffffff, x21, 34*XLEN/8); + +inst_29: +// rs1==x2, rs2_val == -33554433, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x2; src:(x26, x27); swap_val:(0xfdffffff, 0xffffffff); swreg:x21; 36*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x2, x26, x27, 0xfdffffff, 0xffffffff, x21, 36*XLEN/8); + +inst_30: +// rs1==x1, rs2_val == -67108865, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x1; src:(x26, x27); swap_val:(0xfbffffff, 0xffffffff); swreg:x21; 38*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x1, x26, x27, 0xfbffffff, 0xffffffff, x21, 38*XLEN/8); +RVTEST_SIGBASE(x1,signature_x1_2) + +inst_31: +// rs2_val == -134217729, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xf7ffffff, 0xffffffff); swreg:x1; 0*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xf7ffffff, 0xffffffff, x1, 0*XLEN/8); + +inst_32: +// rs2_val == -268435457, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xefffffff, 0xffffffff); swreg:x1; 2*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xefffffff, 0xffffffff, x1, 2*XLEN/8); + +inst_33: +// rs2_val == -536870913, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xdfffffff, 0xffffffff); swreg:x1; 4*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xdfffffff, 0xffffffff, x1, 4*XLEN/8); + +inst_34: +// rs2_val == -1073741825, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xbfffffff, 0xffffffff); swreg:x1; 6*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xbfffffff, 0xffffffff, x1, 6*XLEN/8); + +inst_35: +// rs2_val == -2147483649, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x7fffffff, 0xffffffff); swreg:x1; 8*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x7fffffff, 0xffffffff, x1, 8*XLEN/8); + +inst_36: +// rs2_val == -4294967297, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffffffe); swreg:x1; 10*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffffffe, x1, 10*XLEN/8); + +inst_37: +// rs2_val == -8589934593, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffffffd); swreg:x1; 12*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffffffd, x1, 12*XLEN/8); + +inst_38: +// rs2_val == -17179869185, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffffffb); swreg:x1; 14*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffffffb, x1, 14*XLEN/8); + +inst_39: +// rs2_val == -34359738369, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffffff7); swreg:x1; 16*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffffff7, x1, 16*XLEN/8); + +inst_40: +// rs2_val == -68719476737, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffef); swreg:x1; 18*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffef, x1, 18*XLEN/8); + +inst_41: +// rs2_val == -137438953473, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffdf); swreg:x1; 20*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffdf, x1, 20*XLEN/8); + +inst_42: +// rs2_val == -274877906945, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffbf); swreg:x1; 22*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffbf, x1, 22*XLEN/8); + +inst_43: +// rs2_val == -549755813889, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffff7f); swreg:x1; 24*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffff7f, x1, 24*XLEN/8); + +inst_44: +// rs2_val == -1099511627777, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffffeff); swreg:x1; 26*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffffeff, x1, 26*XLEN/8); + +inst_45: +// rs2_val == -2199023255553, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffffdff); swreg:x1; 28*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffffdff, x1, 28*XLEN/8); + +inst_46: +// rs2_val == -4398046511105, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffffbff); swreg:x1; 30*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffffbff, x1, 30*XLEN/8); + +inst_47: +// rs2_val == -8796093022209, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffff7ff); swreg:x1; 32*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffff7ff, x1, 32*XLEN/8); + +inst_48: +// rs2_val == -17592186044417, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffefff); swreg:x1; 34*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffefff, x1, 34*XLEN/8); + +inst_49: +// rs2_val == -35184372088833, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffdfff); swreg:x1; 36*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffdfff, x1, 36*XLEN/8); + +inst_50: +// rs2_val == -70368744177665, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffbfff); swreg:x1; 38*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffbfff, x1, 38*XLEN/8); + +inst_51: +// rs2_val == -140737488355329, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffff7fff); swreg:x1; 40*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffff7fff, x1, 40*XLEN/8); + +inst_52: +// rs2_val == -281474976710657, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffeffff); swreg:x1; 42*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffeffff, x1, 42*XLEN/8); + +inst_53: +// rs2_val == -562949953421313, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffdffff); swreg:x1; 44*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffdffff, x1, 44*XLEN/8); + +inst_54: +// rs2_val == -1125899906842625, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfffbffff); swreg:x1; 46*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfffbffff, x1, 46*XLEN/8); + +inst_55: +// rs2_val == -2251799813685249, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfff7ffff); swreg:x1; 48*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfff7ffff, x1, 48*XLEN/8); + +inst_56: +// rs2_val == -4503599627370497, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffefffff); swreg:x1; 50*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffefffff, x1, 50*XLEN/8); + +inst_57: +// rs2_val == -9007199254740993, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffdfffff); swreg:x1; 52*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffdfffff, x1, 52*XLEN/8); + +inst_58: +// rs2_val == -18014398509481985, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffbfffff); swreg:x1; 54*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffbfffff, x1, 54*XLEN/8); + +inst_59: +// rs2_val == -36028797018963969, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xff7fffff); swreg:x1; 56*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xff7fffff, x1, 56*XLEN/8); + +inst_60: +// rs2_val == -72057594037927937, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfeffffff); swreg:x1; 58*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfeffffff, x1, 58*XLEN/8); + +inst_61: +// rs2_val == -144115188075855873, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfdffffff); swreg:x1; 60*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfdffffff, x1, 60*XLEN/8); + +inst_62: +// rs2_val == -288230376151711745, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xfbffffff); swreg:x1; 62*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xfbffffff, x1, 62*XLEN/8); + +inst_63: +// rs2_val == -576460752303423489, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xf7ffffff); swreg:x1; 64*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xf7ffffff, x1, 64*XLEN/8); + +inst_64: +// rs2_val == -1152921504606846977, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xefffffff); swreg:x1; 66*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xefffffff, x1, 66*XLEN/8); + +inst_65: +// rs2_val == -2305843009213693953, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xdfffffff); swreg:x1; 68*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xdfffffff, x1, 68*XLEN/8); + +inst_66: +// rs2_val == -4611686018427387905, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xbfffffff); swreg:x1; 70*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xbfffffff, x1, 70*XLEN/8); + +inst_67: +// rs2_val == 9223372036854775807, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0x7fffffff); swreg:x1; 72*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0x7fffffff, x1, 72*XLEN/8); + +inst_68: +// rs1_val == -2, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 74*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 74*XLEN/8); + +inst_69: +// rs1_val == -3, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 76*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 76*XLEN/8); + +inst_70: +// rs1_val == -5, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 78*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 78*XLEN/8); + +inst_71: +// rs1_val == -9, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 80*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 80*XLEN/8); + +inst_72: +// rs1_val == -17, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 82*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 82*XLEN/8); + +inst_73: +// rs1_val == -33, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 84*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 84*XLEN/8); + +inst_74: +// rs1_val == -65, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 86*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 86*XLEN/8); + +inst_75: +// rs1_val == -129, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 88*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 88*XLEN/8); + +inst_76: +// rs1_val == -257, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 90*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 90*XLEN/8); + +inst_77: +// rs1_val == -513, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 92*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 92*XLEN/8); + +inst_78: +// rs1_val == -1025, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 94*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 94*XLEN/8); + +inst_79: +// rs1_val == -2049, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 96*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 96*XLEN/8); + +inst_80: +// rs1_val == -4097, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 98*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 98*XLEN/8); + +inst_81: +// rs1_val == -8193, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 100*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 100*XLEN/8); + +inst_82: +// rs1_val == -16385, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 102*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 102*XLEN/8); + +inst_83: +// rs1_val == -32769, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 104*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 104*XLEN/8); + +inst_84: +// rs1_val == -65537, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 106*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 106*XLEN/8); + +inst_85: +// rs1_val == -131073, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 108*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 108*XLEN/8); + +inst_86: +// rs1_val == -262145, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 110*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 110*XLEN/8); + +inst_87: +// rs1_val == -524289, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 112*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 112*XLEN/8); + +inst_88: +// rs1_val == -1048577, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 114*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 114*XLEN/8); + +inst_89: +// rs1_val == -2097153, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 116*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 116*XLEN/8); + +inst_90: +// rs1_val == -4194305, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 118*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 118*XLEN/8); + +inst_91: +// rs1_val == -8388609, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 120*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 120*XLEN/8); + +inst_92: +// rs1_val == -16777217, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 122*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 122*XLEN/8); + +inst_93: +// rs1_val == -33554433, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 124*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 124*XLEN/8); + +inst_94: +// rs1_val == -67108865, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 126*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 126*XLEN/8); + +inst_95: +// rs1_val == -134217729, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 128*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 128*XLEN/8); + +inst_96: +// rs1_val == -268435457, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 130*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 130*XLEN/8); + +inst_97: +// rs1_val == -536870913, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 132*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 132*XLEN/8); + +inst_98: +// rs1_val == -1073741825, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 134*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 134*XLEN/8); + +inst_99: +// rs1_val == -2147483649, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 136*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 136*XLEN/8); + +inst_100: +// rs1_val == -4294967297, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 138*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 138*XLEN/8); + +inst_101: +// rs1_val == -8589934593, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 140*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 140*XLEN/8); + +inst_102: +// rs1_val == -17179869185, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 142*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 142*XLEN/8); + +inst_103: +// rs1_val == -34359738369, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 144*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 144*XLEN/8); + +inst_104: +// rs1_val == -68719476737, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 146*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 146*XLEN/8); + +inst_105: +// rs1_val == -137438953473, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 148*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 148*XLEN/8); + +inst_106: +// rs1_val == -274877906945, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 150*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 150*XLEN/8); + +inst_107: +// rs1_val == -549755813889, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 152*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 152*XLEN/8); + +inst_108: +// rs1_val == -1099511627777, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 154*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 154*XLEN/8); + +inst_109: +// rs1_val == -2199023255553, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 156*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 156*XLEN/8); + +inst_110: +// rs1_val == -4398046511105, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 158*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 158*XLEN/8); + +inst_111: +// rs1_val == -8796093022209, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 160*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 160*XLEN/8); + +inst_112: +// rs1_val == -17592186044417, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 162*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 162*XLEN/8); + +inst_113: +// rs1_val == -35184372088833, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 164*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 164*XLEN/8); + +inst_114: +// rs1_val == -70368744177665, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 166*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 166*XLEN/8); + +inst_115: +// rs1_val == -140737488355329, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 168*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 168*XLEN/8); + +inst_116: +// rs1_val == -281474976710657, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 170*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 170*XLEN/8); + +inst_117: +// rs1_val == -562949953421313, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 172*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 172*XLEN/8); + +inst_118: +// rs1_val == -1125899906842625, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 174*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 174*XLEN/8); + +inst_119: +// rs1_val == -2251799813685249, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 176*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 176*XLEN/8); + +inst_120: +// rs1_val == -4503599627370497, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 178*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 178*XLEN/8); + +inst_121: +// rs1_val == -9007199254740993, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 180*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 180*XLEN/8); + +inst_122: +// rs1_val == -18014398509481985, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 182*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 182*XLEN/8); + +inst_123: +// rs1_val == -36028797018963969, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 184*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 184*XLEN/8); + +inst_124: +// rs1_val == -72057594037927937, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 186*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 186*XLEN/8); + +inst_125: +// rs1_val == -144115188075855873, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 188*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 188*XLEN/8); + +inst_126: +// rs1_val == -288230376151711745, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 190*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 190*XLEN/8); + +inst_127: +// rs1_val == -576460752303423489, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 192*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 192*XLEN/8); + +inst_128: +// rs1_val == -1152921504606846977, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 194*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 194*XLEN/8); + +inst_129: +// rs1_val == -2305843009213693953, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 196*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 196*XLEN/8); + +inst_130: +// rs1_val == -4611686018427387905, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 198*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 198*XLEN/8); + +inst_131: +// rs1_val == 9223372036854775807, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 200*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 200*XLEN/8); + +inst_132: +// rs2_val == 1, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000001, 0x00000000); swreg:x1; 202*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000001, 0x00000000, x1, 202*XLEN/8); + +inst_133: +// rs2_val == 2, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000002, 0x00000000); swreg:x1; 204*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000002, 0x00000000, x1, 204*XLEN/8); + +inst_134: +// rs2_val == 4, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000004, 0x00000000); swreg:x1; 206*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000004, 0x00000000, x1, 206*XLEN/8); + +inst_135: +// rs2_val == 8, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000008, 0x00000000); swreg:x1; 208*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000008, 0x00000000, x1, 208*XLEN/8); + +inst_136: +// rs2_val == 16, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000010, 0x00000000); swreg:x1; 210*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000010, 0x00000000, x1, 210*XLEN/8); + +inst_137: +// rs1_val == 144115188075855872, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 212*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 212*XLEN/8); + +inst_138: +// rs1_val == 288230376151711744, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 214*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 214*XLEN/8); + +inst_139: +// rs1_val == 576460752303423488, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 216*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 216*XLEN/8); + +inst_140: +// rs1_val == 1152921504606846976, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 218*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 218*XLEN/8); + +inst_141: +// rs1_val == 2305843009213693952, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 220*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 220*XLEN/8); + +inst_142: +// rs1_val == 4611686018427387904, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 222*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 222*XLEN/8); + +inst_143: +// rs1_val == -9223372036854775808, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 224*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 224*XLEN/8); + +inst_144: +// rs2_val == -6148914691236517206, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xaaaaaaaa, 0xaaaaaaaa); swreg:x1; 226*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xaaaaaaaa, 0xaaaaaaaa, x1, 226*XLEN/8); + +inst_145: +// rs1_val == 6148914691236517205, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 228*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 228*XLEN/8); + +inst_146: +// rs1_val == -6148914691236517206, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 230*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 230*XLEN/8); + +inst_147: +// rs1_val > 0 and rs2_val > 0, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x55555555, 0x55555555); swreg:x1; 232*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x55555555, 0x55555555, x1, 232*XLEN/8); + +inst_148: +// rs2_val == 0, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000000); swreg:x1; 234*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000000, x1, 234*XLEN/8); + +inst_149: +// rs2_val == 32, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000020, 0x00000000); swreg:x1; 236*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000020, 0x00000000, x1, 236*XLEN/8); + +inst_150: +// rs2_val == 64, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000040, 0x00000000); swreg:x1; 238*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000040, 0x00000000, x1, 238*XLEN/8); + +inst_151: +// rs2_val == 128, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000080, 0x00000000); swreg:x1; 240*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000080, 0x00000000, x1, 240*XLEN/8); + +inst_152: +// rs2_val == 256, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000100, 0x00000000); swreg:x1; 242*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000100, 0x00000000, x1, 242*XLEN/8); + +inst_153: +// rs2_val == 512, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000200, 0x00000000); swreg:x1; 244*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000200, 0x00000000, x1, 244*XLEN/8); + +inst_154: +// rs2_val == 1024, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000400, 0x00000000); swreg:x1; 246*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000400, 0x00000000, x1, 246*XLEN/8); + +inst_155: +// rs2_val == 2048, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000800, 0x00000000); swreg:x1; 248*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000800, 0x00000000, x1, 248*XLEN/8); + +inst_156: +// rs2_val == 4096, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00001000, 0x00000000); swreg:x1; 250*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00001000, 0x00000000, x1, 250*XLEN/8); + +inst_157: +// rs2_val == 8192, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00002000, 0x00000000); swreg:x1; 252*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00002000, 0x00000000, x1, 252*XLEN/8); + +inst_158: +// rs2_val == 16384, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00004000, 0x00000000); swreg:x1; 254*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00004000, 0x00000000, x1, 254*XLEN/8); + +inst_159: +// rs2_val == 32768, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00008000, 0x00000000); swreg:x1; 256*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00008000, 0x00000000, x1, 256*XLEN/8); + +inst_160: +// rs2_val == 65536, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00010000, 0x00000000); swreg:x1; 258*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00010000, 0x00000000, x1, 258*XLEN/8); + +inst_161: +// rs2_val == 131072, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00020000, 0x00000000); swreg:x1; 260*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00020000, 0x00000000, x1, 260*XLEN/8); + +inst_162: +// rs2_val == 262144, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00040000, 0x00000000); swreg:x1; 262*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00040000, 0x00000000, x1, 262*XLEN/8); + +inst_163: +// rs2_val == 524288, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00080000, 0x00000000); swreg:x1; 264*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00080000, 0x00000000, x1, 264*XLEN/8); + +inst_164: +// rs2_val == 1048576, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00100000, 0x00000000); swreg:x1; 266*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00100000, 0x00000000, x1, 266*XLEN/8); + +inst_165: +// rs2_val == 2097152, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00200000, 0x00000000); swreg:x1; 268*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00200000, 0x00000000, x1, 268*XLEN/8); + +inst_166: +// rs2_val == 4194304, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00400000, 0x00000000); swreg:x1; 270*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00400000, 0x00000000, x1, 270*XLEN/8); + +inst_167: +// rs2_val == 8388608, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00800000, 0x00000000); swreg:x1; 272*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00800000, 0x00000000, x1, 272*XLEN/8); + +inst_168: +// rs2_val == 16777216, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x01000000, 0x00000000); swreg:x1; 274*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x01000000, 0x00000000, x1, 274*XLEN/8); + +inst_169: +// rs2_val == 33554432, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x02000000, 0x00000000); swreg:x1; 276*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x02000000, 0x00000000, x1, 276*XLEN/8); + +inst_170: +// rs2_val == 67108864, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x04000000, 0x00000000); swreg:x1; 278*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x04000000, 0x00000000, x1, 278*XLEN/8); + +inst_171: +// rs2_val == 134217728, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x08000000, 0x00000000); swreg:x1; 280*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x08000000, 0x00000000, x1, 280*XLEN/8); + +inst_172: +// rs2_val == 268435456, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x10000000, 0x00000000); swreg:x1; 282*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x10000000, 0x00000000, x1, 282*XLEN/8); + +inst_173: +// rs2_val == 536870912, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x20000000, 0x00000000); swreg:x1; 284*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x20000000, 0x00000000, x1, 284*XLEN/8); + +inst_174: +// rs2_val == 1073741824, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x40000000, 0x00000000); swreg:x1; 286*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x40000000, 0x00000000, x1, 286*XLEN/8); + +inst_175: +// rs2_val == 2147483648, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x80000000, 0x00000000); swreg:x1; 288*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x80000000, 0x00000000, x1, 288*XLEN/8); + +inst_176: +// rs2_val == 4294967296, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000001); swreg:x1; 290*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000001, x1, 290*XLEN/8); + +inst_177: +// rs2_val == 8589934592, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000002); swreg:x1; 292*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000002, x1, 292*XLEN/8); + +inst_178: +// rs2_val == 17179869184, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000004); swreg:x1; 294*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000004, x1, 294*XLEN/8); + +inst_179: +// rs2_val == 34359738368, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000008); swreg:x1; 296*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000008, x1, 296*XLEN/8); + +inst_180: +// rs2_val == 68719476736, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000010); swreg:x1; 298*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000010, x1, 298*XLEN/8); + +inst_181: +// rs2_val == 137438953472, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000020); swreg:x1; 300*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000020, x1, 300*XLEN/8); + +inst_182: +// rs2_val == 274877906944, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000040); swreg:x1; 302*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000040, x1, 302*XLEN/8); + +inst_183: +// rs2_val == 549755813888, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000080); swreg:x1; 304*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000080, x1, 304*XLEN/8); + +inst_184: +// rs2_val == 1099511627776, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000100); swreg:x1; 306*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000100, x1, 306*XLEN/8); + +inst_185: +// rs2_val == 2199023255552, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000200); swreg:x1; 308*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000200, x1, 308*XLEN/8); + +inst_186: +// rs2_val == 4398046511104, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000400); swreg:x1; 310*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000400, x1, 310*XLEN/8); + +inst_187: +// rs2_val == 8796093022208, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00000800); swreg:x1; 312*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00000800, x1, 312*XLEN/8); + +inst_188: +// rs2_val == 17592186044416, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00001000); swreg:x1; 314*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00001000, x1, 314*XLEN/8); + +inst_189: +// rs2_val == 35184372088832, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00002000); swreg:x1; 316*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00002000, x1, 316*XLEN/8); + +inst_190: +// rs2_val == 70368744177664, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00004000); swreg:x1; 318*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00004000, x1, 318*XLEN/8); + +inst_191: +// rs2_val == 140737488355328, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00008000); swreg:x1; 320*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00008000, x1, 320*XLEN/8); + +inst_192: +// rs2_val == 281474976710656, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00010000); swreg:x1; 322*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00010000, x1, 322*XLEN/8); + +inst_193: +// rs2_val == 562949953421312, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00020000); swreg:x1; 324*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00020000, x1, 324*XLEN/8); + +inst_194: +// rs2_val == 1125899906842624, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00040000); swreg:x1; 326*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00040000, x1, 326*XLEN/8); + +inst_195: +// rs2_val == 2251799813685248, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00080000); swreg:x1; 328*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00080000, x1, 328*XLEN/8); + +inst_196: +// rs2_val == 4503599627370496, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00100000); swreg:x1; 330*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00100000, x1, 330*XLEN/8); + +inst_197: +// rs2_val == 9007199254740992, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00200000); swreg:x1; 332*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00200000, x1, 332*XLEN/8); + +inst_198: +// rs2_val == 18014398509481984, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00400000); swreg:x1; 334*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00400000, x1, 334*XLEN/8); + +inst_199: +// rs2_val == 36028797018963968, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x00800000); swreg:x1; 336*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x00800000, x1, 336*XLEN/8); + +inst_200: +// rs2_val == 72057594037927936, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x01000000); swreg:x1; 338*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x01000000, x1, 338*XLEN/8); + +inst_201: +// rs2_val == 144115188075855872, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x02000000); swreg:x1; 340*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x02000000, x1, 340*XLEN/8); + +inst_202: +// rs2_val == 288230376151711744, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x04000000); swreg:x1; 342*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x04000000, x1, 342*XLEN/8); + +inst_203: +// rs2_val == 576460752303423488, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x08000000); swreg:x1; 344*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x08000000, x1, 344*XLEN/8); + +inst_204: +// rs2_val == 1152921504606846976, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x10000000); swreg:x1; 346*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x10000000, x1, 346*XLEN/8); + +inst_205: +// rs2_val == 2305843009213693952, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x20000000); swreg:x1; 348*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x20000000, x1, 348*XLEN/8); + +inst_206: +// rs2_val == 4611686018427387904, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x40000000); swreg:x1; 350*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x40000000, x1, 350*XLEN/8); + +inst_207: +// rs2_val == -9223372036854775808, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000, 0x80000000); swreg:x1; 352*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0x00000000, 0x80000000, x1, 352*XLEN/8); + +inst_208: +// rs1_val == 2, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 354*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 354*XLEN/8); + +inst_209: +// rs1_val == 4, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 356*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 356*XLEN/8); + +inst_210: +// rs1_val == 8, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 358*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 358*XLEN/8); + +inst_211: +// rs1_val == 16, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 360*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 360*XLEN/8); + +inst_212: +// rs1_val == 32, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 362*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 362*XLEN/8); + +inst_213: +// rs1_val == 64, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 364*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 364*XLEN/8); + +inst_214: +// rs1_val == 128, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 366*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 366*XLEN/8); + +inst_215: +// rs1_val == 256, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 368*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 368*XLEN/8); + +inst_216: +// rs1_val == 512, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 370*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 370*XLEN/8); + +inst_217: +// rs1_val == 1024, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 372*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 372*XLEN/8); + +inst_218: +// rs1_val == 2048, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 374*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 374*XLEN/8); + +inst_219: +// rs1_val == 4096, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 376*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 376*XLEN/8); + +inst_220: +// rs1_val == 8192, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 378*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 378*XLEN/8); + +inst_221: +// rs1_val == 16384, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 380*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 380*XLEN/8); + +inst_222: +// rs1_val == 32768, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 382*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 382*XLEN/8); + +inst_223: +// rs1_val == 65536, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 384*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 384*XLEN/8); + +inst_224: +// rs1_val == 131072, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 386*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 386*XLEN/8); + +inst_225: +// rs1_val == 262144, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 388*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 388*XLEN/8); + +inst_226: +// rs1_val == 524288, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 390*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 390*XLEN/8); + +inst_227: +// rs1_val == 1048576, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 392*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 392*XLEN/8); + +inst_228: +// rs1_val == 2097152, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 394*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 394*XLEN/8); + +inst_229: +// rs1_val == 4194304, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 396*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 396*XLEN/8); + +inst_230: +// rs1_val == 8388608, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 398*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 398*XLEN/8); + +inst_231: +// rs1_val == 16777216, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 400*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 400*XLEN/8); + +inst_232: +// rs1_val == 33554432, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 402*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 402*XLEN/8); + +inst_233: +// rs1_val == 67108864, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 404*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 404*XLEN/8); + +inst_234: +// rs1_val == 134217728, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 406*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 406*XLEN/8); + +inst_235: +// rs1_val == 268435456, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 408*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 408*XLEN/8); + +inst_236: +// rs1_val == 536870912, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 410*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 410*XLEN/8); + +inst_237: +// rs1_val == 1073741824, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 412*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 412*XLEN/8); + +inst_238: +// rs1_val == 2147483648, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 414*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 414*XLEN/8); + +inst_239: +// rs1_val == 4294967296, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 416*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 416*XLEN/8); + +inst_240: +// rs1_val == 8589934592, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 418*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 418*XLEN/8); + +inst_241: +// rs1_val == 17179869184, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 420*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 420*XLEN/8); + +inst_242: +// rs1_val == 34359738368, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 422*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 422*XLEN/8); + +inst_243: +// rs1_val == 68719476736, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 424*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 424*XLEN/8); + +inst_244: +// rs1_val == 137438953472, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 426*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 426*XLEN/8); + +inst_245: +// rs1_val == 274877906944, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 428*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 428*XLEN/8); + +inst_246: +// rs1_val == 549755813888, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 430*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 430*XLEN/8); + +inst_247: +// rs1_val == 1099511627776, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 432*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 432*XLEN/8); + +inst_248: +// rs1_val == 2199023255552, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 434*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 434*XLEN/8); + +inst_249: +// rs1_val == 4398046511104, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 436*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 436*XLEN/8); + +inst_250: +// rs1_val == 8796093022208, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 438*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 438*XLEN/8); + +inst_251: +// rs1_val == 17592186044416, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 440*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 440*XLEN/8); + +inst_252: +// rs1_val == 35184372088832, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 442*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 442*XLEN/8); + +inst_253: +// rs1_val == 70368744177664, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 444*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 444*XLEN/8); + +inst_254: +// rs1_val == 140737488355328, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 446*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 446*XLEN/8); + +inst_255: +// rs1_val == 281474976710656, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 448*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 448*XLEN/8); + +inst_256: +// rs1_val == 562949953421312, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 450*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 450*XLEN/8); + +inst_257: +// rs1_val == 1125899906842624, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 452*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 452*XLEN/8); + +inst_258: +// rs1_val == 2251799813685248, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 454*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 454*XLEN/8); + +inst_259: +// rs1_val == 4503599627370496, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 456*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 456*XLEN/8); + +inst_260: +// rs1_val == 9007199254740992, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 458*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 458*XLEN/8); + +inst_261: +// rs1_val == 18014398509481984, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 460*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 460*XLEN/8); + +inst_262: +// rs1_val == 36028797018963968, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 462*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 462*XLEN/8); + +inst_263: +// rs1_val == 72057594037927936, +// opcode: amocas.d_32 ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0xffffffff, 0xffffffff); swreg:x1; 464*XLEN/8 +TEST_DCAS_OP(amocas.d, x28, x29, x31, x26, x27, 0xffffffff, 0xffffffff, x1, 464*XLEN/8); +#endif + + +RVTEST_CODE_END +RVMODEL_HALT + +RVTEST_DATA_BEGIN +.align 4 +rvtest_data: +.word 0xbabecafe +.word 0xabecafeb +.word 0xbecafeba +.word 0xecafebab +RVTEST_DATA_END + +RVMODEL_DATA_BEGIN +rvtest_sig_begin: +sig_begin_canary: +CANARY; + + + +signature_x1_0: + .fill 0*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_1: + .fill 22*((XLEN/8)/4),4,0xdeadbeef + + +signature_x21_0: + .fill 40*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_2: + .fill 466*((XLEN/8)/4),4,0xdeadbeef + +#ifdef rvtest_mtrap_routine +tsig_begin_canary: +CANARY; + +mtrap_sigptr: + .fill 64*XLEN/32,4,0xdeadbeef + +tsig_end_canary: +CANARY; +#endif + +#ifdef rvtest_gpr_save + +gpr_save: + .fill 32*XLEN/32,4,0xdeadbeef + +#endif + + +sig_end_canary: +CANARY; +rvtest_sig_end: +RVMODEL_DATA_END diff --git a/riscv-test-suite/rv32i_m/Zacas/src/amocas.w-01.S b/riscv-test-suite/rv32i_m/Zacas/src/amocas.w-01.S new file mode 100644 index 000000000..c5d1f714d --- /dev/null +++ b/riscv-test-suite/rv32i_m/Zacas/src/amocas.w-01.S @@ -0,0 +1,761 @@ + +// ----------- +// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg) +// version : 0.11.0 +// timestamp : Fri Jul 28 01:24:06 2023 GMT +// usage : riscv_ctg \ +// -- cgf // --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/dataset.cgf \ +// --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/rv32zacas.cgf \ + \ +// -- xlen 32 \ +// ----------- +// +// ----------- +// Copyright (c) 2020. RISC-V International. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// ----------- +// +// This assembly file tests the amocas.w instruction of the RISC-V RV32Zacas extension for the amocas.w covergroup. +// +#include "model_test.h" +#include "arch_test.h" +RVTEST_ISA("RV32IZacas") + +.section .text.init +.globl rvtest_entry_point +rvtest_entry_point: +RVMODEL_BOOT +RVTEST_CODE_BEGIN + +#ifdef TEST_CASE_1 + +RVTEST_CASE(0,"//check ISA:=regex(.*Zacas.*);def TEST_CASE_1=True;",amocas.w) + +RVTEST_SIGBASE(x1,signature_x1_1) + +inst_0: +// rs1 != rs2 and rs1 != rd and rs2 != rd, rs1==x31, rs2==x29, rd==x30, rs1_val == (-2**(xlen-1)), rs1_val == -2147483648, rs2_val == -16777217 +// opcode: amocas.w ; dest:x30; addr:x31; src:x29; swap_val:-0x1000001; swreg:x1; 0*XLEN/8 +TEST_CAS_OP(amocas.w, x30, x31, x29, -0x1000001, x1, 0*XLEN/8); + +inst_1: +// rs1==x30, rs2==x31, rd==x29, rs1_val == (2**(xlen-1)-1), rs1_val == 2147483647 +// opcode: amocas.w ; dest:x29; addr:x30; src:x31; swap_val:-0x1000001; swreg:x1; 1*XLEN/8 +TEST_CAS_OP(amocas.w, x29, x30, x31, -0x1000001, x1, 1*XLEN/8); + +inst_2: +// rs1==x29, rs2==x30, rd==x31, rs1_val == 0, +// opcode: amocas.w ; dest:x31; addr:x29; src:x30; swap_val:-0x1000001; swreg:x1; 2*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x29, x30, -0x1000001, x1, 2*XLEN/8); + +inst_3: +// rs1==x28, rs2==x26, rd==x27, rs1_val == 1, +// opcode: amocas.w ; dest:x27; addr:x28; src:x26; swap_val:-0x1000001; swreg:x1; 3*XLEN/8 +TEST_CAS_OP(amocas.w, x27, x28, x26, -0x1000001, x1, 3*XLEN/8); + +inst_4: +// rs1==x27, rs2==x28, rd==x26, rs2_val == (-2**(xlen-1)), rs2_val == -2147483648, rs1_val == -16777217 +// opcode: amocas.w ; dest:x26; addr:x27; src:x28; swap_val:-0x80000000; swreg:x1; 4*XLEN/8 +TEST_CAS_OP(amocas.w, x26, x27, x28, -0x80000000, x1, 4*XLEN/8); + +inst_5: +// rs1==x26, rs2==x27, rd==x28, rs2_val == (2**(xlen-1)-1), rs2_val == 2147483647 +// opcode: amocas.w ; dest:x28; addr:x26; src:x27; swap_val:0x7fffffff; swreg:x1; 5*XLEN/8 +TEST_CAS_OP(amocas.w, x28, x26, x27, 0x7fffffff, x1, 5*XLEN/8); + +inst_6: +// rs1==x25, rs2==x23, rd==x24, rs2_val == 0, +// opcode: amocas.w ; dest:x24; addr:x25; src:x23; swap_val:0x0; swreg:x1; 6*XLEN/8 +TEST_CAS_OP(amocas.w, x24, x25, x23, 0x0, x1, 6*XLEN/8); + +inst_7: +// rs1==x24, rs2==x25, rd==x23, rs2_val == -2, +// opcode: amocas.w ; dest:x23; addr:x24; src:x25; swap_val:-0x2; swreg:x1; 7*XLEN/8 +TEST_CAS_OP(amocas.w, x23, x24, x25, -0x2, x1, 7*XLEN/8); + +inst_8: +// rs1==x23, rs2==x24, rd==x25, rs2_val == -3, +// opcode: amocas.w ; dest:x25; addr:x23; src:x24; swap_val:-0x3; swreg:x1; 8*XLEN/8 +TEST_CAS_OP(amocas.w, x25, x23, x24, -0x3, x1, 8*XLEN/8); + +inst_9: +// rs1==x22, rs2==x20, rd==x21, rs2_val == -5, +// opcode: amocas.w ; dest:x21; addr:x22; src:x20; swap_val:-0x5; swreg:x1; 9*XLEN/8 +TEST_CAS_OP(amocas.w, x21, x22, x20, -0x5, x1, 9*XLEN/8); + +inst_10: +// rs1==x21, rs2==x22, rd==x20, rs2_val == -9, +// opcode: amocas.w ; dest:x20; addr:x21; src:x22; swap_val:-0x9; swreg:x1; 10*XLEN/8 +TEST_CAS_OP(amocas.w, x20, x21, x22, -0x9, x1, 10*XLEN/8); + +inst_11: +// rs1==x20, rs2==x21, rd==x22, rs2_val == -17, +// opcode: amocas.w ; dest:x22; addr:x20; src:x21; swap_val:-0x11; swreg:x1; 11*XLEN/8 +TEST_CAS_OP(amocas.w, x22, x20, x21, -0x11, x1, 11*XLEN/8); + +inst_12: +// rs1==x19, rs2==x17, rd==x18, rs2_val == -33, +// opcode: amocas.w ; dest:x18; addr:x19; src:x17; swap_val:-0x21; swreg:x1; 12*XLEN/8 +TEST_CAS_OP(amocas.w, x18, x19, x17, -0x21, x1, 12*XLEN/8); + +inst_13: +// rs1==x18, rs2==x19, rd==x17, rs2_val == -65, +// opcode: amocas.w ; dest:x17; addr:x18; src:x19; swap_val:-0x41; swreg:x1; 13*XLEN/8 +TEST_CAS_OP(amocas.w, x17, x18, x19, -0x41, x1, 13*XLEN/8); + +inst_14: +// rs1==x17, rs2==x18, rd==x19, rs2_val == -129, +// opcode: amocas.w ; dest:x19; addr:x17; src:x18; swap_val:-0x81; swreg:x1; 14*XLEN/8 +TEST_CAS_OP(amocas.w, x19, x17, x18, -0x81, x1, 14*XLEN/8); + +inst_15: +// rs1==x16, rs2==x14, rd==x15, rs2_val == -257, +// opcode: amocas.w ; dest:x15; addr:x16; src:x14; swap_val:-0x101; swreg:x1; 15*XLEN/8 +TEST_CAS_OP(amocas.w, x15, x16, x14, -0x101, x1, 15*XLEN/8); + +inst_16: +// rs1==x15, rs2==x16, rd==x14, rs2_val == -513, +// opcode: amocas.w ; dest:x14; addr:x15; src:x16; swap_val:-0x201; swreg:x1; 16*XLEN/8 +TEST_CAS_OP(amocas.w, x14, x15, x16, -0x201, x1, 16*XLEN/8); + +inst_17: +// rs1==x14, rs2==x15, rd==x16, rs2_val == -1025, +// opcode: amocas.w ; dest:x16; addr:x14; src:x15; swap_val:-0x401; swreg:x1; 17*XLEN/8 +TEST_CAS_OP(amocas.w, x16, x14, x15, -0x401, x1, 17*XLEN/8); + +inst_18: +// rs1==x13, rs2==x11, rd==x12, rs2_val == -2049, +// opcode: amocas.w ; dest:x12; addr:x13; src:x11; swap_val:-0x801; swreg:x1; 18*XLEN/8 +TEST_CAS_OP(amocas.w, x12, x13, x11, -0x801, x1, 18*XLEN/8); + +inst_19: +// rs1==x12, rs2==x13, rd==x11, rs2_val == -4097, +// opcode: amocas.w ; dest:x11; addr:x12; src:x13; swap_val:-0x1001; swreg:x1; 19*XLEN/8 +TEST_CAS_OP(amocas.w, x11, x12, x13, -0x1001, x1, 19*XLEN/8); + +inst_20: +// rs1==x11, rs2==x12, rd==x13, rs2_val == -8193, +// opcode: amocas.w ; dest:x13; addr:x11; src:x12; swap_val:-0x2001; swreg:x1; 20*XLEN/8 +TEST_CAS_OP(amocas.w, x13, x11, x12, -0x2001, x1, 20*XLEN/8); + +inst_21: +// rs1==x10, rs2==x8, rd==x9, rs2_val == -16385, +// opcode: amocas.w ; dest:x9; addr:x10; src:x8; swap_val:-0x4001; swreg:x1; 21*XLEN/8 +TEST_CAS_OP(amocas.w, x9, x10, x8, -0x4001, x1, 21*XLEN/8); + +inst_22: +// rs1==x9, rs2==x10, rd==x8, rs2_val == -32769, +// opcode: amocas.w ; dest:x8; addr:x9; src:x10; swap_val:-0x8001; swreg:x1; 22*XLEN/8 +TEST_CAS_OP(amocas.w, x8, x9, x10, -0x8001, x1, 22*XLEN/8); + +inst_23: +// rs1==x8, rs2==x9, rd==x10, rs2_val == -65537, +// opcode: amocas.w ; dest:x10; addr:x8; src:x9; swap_val:-0x10001; swreg:x1; 23*XLEN/8 +TEST_CAS_OP(amocas.w, x10, x8, x9, -0x10001, x1, 23*XLEN/8); + +inst_24: +// rs1==x7, rs2==x5, rd==x6, rs2_val == -131073, +// opcode: amocas.w ; dest:x6; addr:x7; src:x5; swap_val:-0x20001; swreg:x1; 24*XLEN/8 +TEST_CAS_OP(amocas.w, x6, x7, x5, -0x20001, x1, 24*XLEN/8); +RVTEST_SIGBASE(x8,signature_x8_0) + +inst_25: +// rs1==x6, rs2==x7, rd==x5, rs2_val == -262145, +// opcode: amocas.w ; dest:x5; addr:x6; src:x7; swap_val:-0x40001; swreg:x8; 0*XLEN/8 +TEST_CAS_OP(amocas.w, x5, x6, x7, -0x40001, x8, 0*XLEN/8); + +inst_26: +// rs1==x5, rs2==x6, rd==x7, rs2_val == -524289, +// opcode: amocas.w ; dest:x7; addr:x5; src:x6; swap_val:-0x80001; swreg:x8; 1*XLEN/8 +TEST_CAS_OP(amocas.w, x7, x5, x6, -0x80001, x8, 1*XLEN/8); + +inst_27: +// rs1==x4, rs2==x2, rd==x3, rs2_val == -1048577, +// opcode: amocas.w ; dest:x3; addr:x4; src:x2; swap_val:-0x100001; swreg:x8; 2*XLEN/8 +TEST_CAS_OP(amocas.w, x3, x4, x2, -0x100001, x8, 2*XLEN/8); + +inst_28: +// rs1==x3, rs2==x4, rd==x2, rs2_val == -2097153, +// opcode: amocas.w ; dest:x2; addr:x3; src:x4; swap_val:-0x200001; swreg:x8; 3*XLEN/8 +TEST_CAS_OP(amocas.w, x2, x3, x4, -0x200001, x8, 3*XLEN/8); + +inst_29: +// rs1==x2, rs2==x3, rd==x4, rs2_val == -4194305, +// opcode: amocas.w ; dest:x4; addr:x2; src:x3; swap_val:-0x400001; swreg:x8; 4*XLEN/8 +TEST_CAS_OP(amocas.w, x4, x2, x3, -0x400001, x8, 4*XLEN/8); + +inst_30: +// rs1==x1, rs2_val == -8388609, +// opcode: amocas.w ; dest:x31; addr:x1; src:x30; swap_val:-0x800001; swreg:x8; 5*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x1, x30, -0x800001, x8, 5*XLEN/8); + +inst_31: +// rs2==x1, rs2_val == -33554433, +// opcode: amocas.w ; dest:x30; addr:x31; src:x1; swap_val:-0x2000001; swreg:x8; 6*XLEN/8 +TEST_CAS_OP(amocas.w, x30, x31, x1, -0x2000001, x8, 6*XLEN/8); + +inst_32: +// rs2==x0, rs2_val == -67108865, +// opcode: amocas.w ; dest:x31; addr:x30; src:x0; swap_val:0x0; swreg:x8; 7*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x0, 0x0, x8, 7*XLEN/8); + +inst_33: +// rd==x1, rs2_val == -134217729, +// opcode: amocas.w ; dest:x1; addr:x31; src:x30; swap_val:-0x8000001; swreg:x8; 8*XLEN/8 +TEST_CAS_OP(amocas.w, x1, x31, x30, -0x8000001, x8, 8*XLEN/8); + +inst_34: +// rd==x0, rs2_val == -268435457, +// opcode: amocas.w ; dest:x0; addr:x31; src:x30; swap_val:-0x10000001; swreg:x8; 9*XLEN/8 +TEST_CAS_OP(amocas.w, x0, x31, x30, -0x10000001, x8, 9*XLEN/8); + +inst_35: +// rs2_val == -536870913, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x20000001; swreg:x8; 10*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x20000001, x8, 10*XLEN/8); + +inst_36: +// rs2_val == -1073741825, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x40000001; swreg:x8; 11*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x40000001, x8, 11*XLEN/8); + +inst_37: +// rs1_val == -2, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 12*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 12*XLEN/8); + +inst_38: +// rs1_val == -3, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 13*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 13*XLEN/8); + +inst_39: +// rs1_val == -5, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 14*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 14*XLEN/8); + +inst_40: +// rs1_val == -9, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 15*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 15*XLEN/8); + +inst_41: +// rs1_val == -17, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 16*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 16*XLEN/8); + +inst_42: +// rs1_val == -33, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 17*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 17*XLEN/8); + +inst_43: +// rs1_val == -65, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 18*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 18*XLEN/8); + +inst_44: +// rs1_val == -129, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 19*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 19*XLEN/8); + +inst_45: +// rs1_val == -257, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 20*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 20*XLEN/8); + +inst_46: +// rs1_val == -513, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 21*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 21*XLEN/8); + +inst_47: +// rs1_val == -1025, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 22*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 22*XLEN/8); + +inst_48: +// rs1_val == -2049, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 23*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 23*XLEN/8); + +inst_49: +// rs1_val == -4097, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 24*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 24*XLEN/8); + +inst_50: +// rs1_val == -8193, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 25*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 25*XLEN/8); + +inst_51: +// rs1_val == -16385, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 26*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 26*XLEN/8); + +inst_52: +// rs1_val == -32769, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 27*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 27*XLEN/8); + +inst_53: +// rs1_val == -65537, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 28*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 28*XLEN/8); + +inst_54: +// rs1_val == -131073, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 29*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 29*XLEN/8); + +inst_55: +// rs1_val == -262145, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 30*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 30*XLEN/8); + +inst_56: +// rs1_val == -524289, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 31*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 31*XLEN/8); + +inst_57: +// rs1_val == -1048577, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 32*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 32*XLEN/8); + +inst_58: +// rs1_val == -2097153, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 33*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 33*XLEN/8); + +inst_59: +// rs1_val == -4194305, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 34*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 34*XLEN/8); + +inst_60: +// rs1_val == -8388609, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 35*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 35*XLEN/8); + +inst_61: +// rs1_val == -33554433, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 36*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 36*XLEN/8); + +inst_62: +// rs1_val == -67108865, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 37*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 37*XLEN/8); + +inst_63: +// rs1_val == -134217729, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 38*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 38*XLEN/8); + +inst_64: +// rs1_val == -268435457, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 39*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 39*XLEN/8); + +inst_65: +// rs1_val == -536870913, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 40*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 40*XLEN/8); + +inst_66: +// rs1_val == -1073741825, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 41*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 41*XLEN/8); + +inst_67: +// rs2_val == 1, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1; swreg:x8; 42*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1, x8, 42*XLEN/8); + +inst_68: +// rs2_val == 2, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2; swreg:x8; 43*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2, x8, 43*XLEN/8); + +inst_69: +// rs1_val == 33554432, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 44*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 44*XLEN/8); + +inst_70: +// rs1_val == 67108864, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 45*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 45*XLEN/8); + +inst_71: +// rs1_val == 134217728, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 46*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 46*XLEN/8); + +inst_72: +// rs1_val == 268435456, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 47*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 47*XLEN/8); + +inst_73: +// rs1_val == 536870912, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 48*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 48*XLEN/8); + +inst_74: +// rs1_val == 1073741824, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 49*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 49*XLEN/8); + +inst_75: +// rs2_val == -1431655766, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x55555556; swreg:x8; 50*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x55555556, x8, 50*XLEN/8); + +inst_76: +// rs1_val == 1431655765, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 51*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 51*XLEN/8); + +inst_77: +// rs1_val == -1431655766, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 52*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 52*XLEN/8); + +inst_78: +// rs2_val == 4, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4; swreg:x8; 53*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4, x8, 53*XLEN/8); + +inst_79: +// rs2_val == 8, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8; swreg:x8; 54*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8, x8, 54*XLEN/8); + +inst_80: +// rs2_val == 16, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10; swreg:x8; 55*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10, x8, 55*XLEN/8); + +inst_81: +// rs2_val == 32, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20; swreg:x8; 56*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20, x8, 56*XLEN/8); + +inst_82: +// rs2_val == 64, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40; swreg:x8; 57*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40, x8, 57*XLEN/8); + +inst_83: +// rs2_val == 128, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x80; swreg:x8; 58*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x80, x8, 58*XLEN/8); + +inst_84: +// rs2_val == 256, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x100; swreg:x8; 59*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x100, x8, 59*XLEN/8); + +inst_85: +// rs2_val == 512, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x200; swreg:x8; 60*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x200, x8, 60*XLEN/8); + +inst_86: +// rs2_val == 1024, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x400; swreg:x8; 61*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x400, x8, 61*XLEN/8); + +inst_87: +// rs2_val == 2048, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x800; swreg:x8; 62*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x800, x8, 62*XLEN/8); + +inst_88: +// rs2_val == 4096, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1000; swreg:x8; 63*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1000, x8, 63*XLEN/8); + +inst_89: +// rs2_val == 8192, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2000; swreg:x8; 64*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2000, x8, 64*XLEN/8); + +inst_90: +// rs2_val == 16384, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4000; swreg:x8; 65*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4000, x8, 65*XLEN/8); + +inst_91: +// rs2_val == 32768, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8000; swreg:x8; 66*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8000, x8, 66*XLEN/8); + +inst_92: +// rs2_val == 65536, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10000; swreg:x8; 67*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10000, x8, 67*XLEN/8); + +inst_93: +// rs2_val == 131072, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20000; swreg:x8; 68*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20000, x8, 68*XLEN/8); + +inst_94: +// rs2_val == 262144, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40000; swreg:x8; 69*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40000, x8, 69*XLEN/8); + +inst_95: +// rs2_val == 524288, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x80000; swreg:x8; 70*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x80000, x8, 70*XLEN/8); + +inst_96: +// rs2_val == 1048576, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x100000; swreg:x8; 71*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x100000, x8, 71*XLEN/8); + +inst_97: +// rs2_val == 2097152, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x200000; swreg:x8; 72*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x200000, x8, 72*XLEN/8); + +inst_98: +// rs2_val == 4194304, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x400000; swreg:x8; 73*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x400000, x8, 73*XLEN/8); + +inst_99: +// rs2_val == 8388608, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x800000; swreg:x8; 74*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x800000, x8, 74*XLEN/8); + +inst_100: +// rs2_val == 16777216, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1000000; swreg:x8; 75*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1000000, x8, 75*XLEN/8); + +inst_101: +// rs2_val == 33554432, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2000000; swreg:x8; 76*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2000000, x8, 76*XLEN/8); + +inst_102: +// rs2_val == 67108864, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4000000; swreg:x8; 77*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4000000, x8, 77*XLEN/8); + +inst_103: +// rs2_val == 134217728, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8000000; swreg:x8; 78*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8000000, x8, 78*XLEN/8); + +inst_104: +// rs2_val == 268435456, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10000000; swreg:x8; 79*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10000000, x8, 79*XLEN/8); + +inst_105: +// rs2_val == 536870912, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20000000; swreg:x8; 80*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20000000, x8, 80*XLEN/8); + +inst_106: +// rs2_val == 1073741824, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40000000; swreg:x8; 81*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40000000, x8, 81*XLEN/8); + +inst_107: +// rs2_val == 1431655765, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x55555555; swreg:x8; 82*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x55555555, x8, 82*XLEN/8); + +inst_108: +// rs1_val == 2, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 83*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 83*XLEN/8); + +inst_109: +// rs1_val == 4, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 84*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 84*XLEN/8); + +inst_110: +// rs1_val == 8, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 85*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 85*XLEN/8); + +inst_111: +// rs1_val == 16, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 86*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 86*XLEN/8); + +inst_112: +// rs1_val == 32, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 87*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 87*XLEN/8); + +inst_113: +// rs1_val == 64, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 88*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 88*XLEN/8); + +inst_114: +// rs1_val == 128, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 89*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 89*XLEN/8); + +inst_115: +// rs1_val == 256, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 90*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 90*XLEN/8); + +inst_116: +// rs1_val == 512, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 91*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 91*XLEN/8); + +inst_117: +// rs1_val == 1024, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 92*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 92*XLEN/8); + +inst_118: +// rs1_val == 2048, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 93*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 93*XLEN/8); + +inst_119: +// rs1_val == 4096, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 94*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 94*XLEN/8); + +inst_120: +// rs1_val == 8192, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 95*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 95*XLEN/8); + +inst_121: +// rs1_val == 16384, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 96*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 96*XLEN/8); + +inst_122: +// rs1_val == 32768, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 97*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 97*XLEN/8); + +inst_123: +// rs1_val == 65536, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 98*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 98*XLEN/8); + +inst_124: +// rs1_val == 131072, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 99*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 99*XLEN/8); + +inst_125: +// rs1_val == 262144, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 100*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 100*XLEN/8); + +inst_126: +// rs1_val == 524288, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 101*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 101*XLEN/8); + +inst_127: +// rs1_val == 1048576, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 102*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 102*XLEN/8); + +inst_128: +// rs1_val == 2097152, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 103*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 103*XLEN/8); + +inst_129: +// rs1_val == 4194304, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 104*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 104*XLEN/8); + +inst_130: +// rs1_val == 8388608, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 105*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 105*XLEN/8); + +inst_131: +// rs1_val == 16777216, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000001; swreg:x8; 106*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000001, x8, 106*XLEN/8); + +inst_132: +// rs2_val == -67108865, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x4000001; swreg:x8; 107*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x4000001, x8, 107*XLEN/8); + +inst_133: +// rs2_val == -268435457, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x10000001; swreg:x8; 108*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x10000001, x8, 108*XLEN/8); +#endif + + +RVTEST_CODE_END +RVMODEL_HALT + +RVTEST_DATA_BEGIN +.align 4 +rvtest_data: +.word 0xbabecafe +.word 0xabecafeb +.word 0xbecafeba +.word 0xecafebab +RVTEST_DATA_END + +RVMODEL_DATA_BEGIN +rvtest_sig_begin: +sig_begin_canary: +CANARY; + + + +signature_x1_0: + .fill 0*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_1: + .fill 25*((XLEN/8)/4),4,0xdeadbeef + + +signature_x8_0: + .fill 109*((XLEN/8)/4),4,0xdeadbeef + +#ifdef rvtest_mtrap_routine +tsig_begin_canary: +CANARY; + +mtrap_sigptr: + .fill 64*XLEN/32,4,0xdeadbeef + +tsig_end_canary: +CANARY; +#endif + +#ifdef rvtest_gpr_save + +gpr_save: + .fill 32*XLEN/32,4,0xdeadbeef + +#endif + + +sig_end_canary: +CANARY; +rvtest_sig_end: +RVMODEL_DATA_END diff --git a/riscv-test-suite/rv64i_m/Zacas/src/amocas.d_64-01.S b/riscv-test-suite/rv64i_m/Zacas/src/amocas.d_64-01.S new file mode 100644 index 000000000..2e45e0dbd --- /dev/null +++ b/riscv-test-suite/rv64i_m/Zacas/src/amocas.d_64-01.S @@ -0,0 +1,1421 @@ + +// ----------- +// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg) +// version : 0.11.0 +// timestamp : Fri Jul 28 01:07:22 2023 GMT +// usage : riscv_ctg \ +// -- cgf // --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/dataset.cgf \ +// --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/rv64zacas.cgf \ + \ +// -- xlen 64 \ +// ----------- +// +// ----------- +// Copyright (c) 2020. RISC-V International. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// ----------- +// +// This assembly file tests the amocas.d_64 instruction of the RISC-V RV64Zacas extension for the amocas.d_64 covergroup. +// +#include "model_test.h" +#include "arch_test.h" +RVTEST_ISA("RV64IZacas") + +.section .text.init +.globl rvtest_entry_point +rvtest_entry_point: +RVMODEL_BOOT +RVTEST_CODE_BEGIN + +#ifdef TEST_CASE_1 + +RVTEST_CASE(0,"//check ISA:=regex(.*Zacas.*);def TEST_CASE_1=True;",amocas.d_64) + +RVTEST_SIGBASE(x1,signature_x1_1) + +inst_0: +// rs1 != rs2 and rs1 != rd and rs2 != rd, rs1==x31, rs2==x29, rd==x30, rs1_val != rs2_val, rs1_val < 0 and rs2_val < 0, rs2_val == -2 +// opcode: amocas.d_64 ; dest:x30; addr:x31; src:x29; swap_val:-0x2; swreg:x1; 0*XLEN/8 +TEST_CAS_OP(amocas.d, x30, x31, x29, -0x2, x1, 0*XLEN/8); + +inst_1: +// rs1==x30, rs2==x31, rd==x29, rs1_val < 0 and rs2_val > 0, rs2_val == 6148914691236517205 +// opcode: amocas.d_64 ; dest:x29; addr:x30; src:x31; swap_val:0x5555555555555555; swreg:x1; 1*XLEN/8 +TEST_CAS_OP(amocas.d, x29, x30, x31, 0x5555555555555555, x1, 1*XLEN/8); + +inst_2: +// rs1==x29, rs2==x30, rd==x31, rs1_val == (-2**(xlen-1)), rs1_val == -9223372036854775808 +// opcode: amocas.d_64 ; dest:x31; addr:x29; src:x30; swap_val:-0x1; swreg:x1; 2*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x29, x30, -0x1, x1, 2*XLEN/8); + +inst_3: +// rs1==x28, rs2==x26, rd==x27, rs1_val == (2**(xlen-1)-1), rs1_val > 0 and rs2_val < 0, rs1_val == 9223372036854775807 +// opcode: amocas.d_64 ; dest:x27; addr:x28; src:x26; swap_val:-0x1; swreg:x1; 3*XLEN/8 +TEST_CAS_OP(amocas.d, x27, x28, x26, -0x1, x1, 3*XLEN/8); + +inst_4: +// rs1==x27, rs2==x28, rd==x26, rs1_val == 0, +// opcode: amocas.d_64 ; dest:x26; addr:x27; src:x28; swap_val:-0x1; swreg:x1; 4*XLEN/8 +TEST_CAS_OP(amocas.d, x26, x27, x28, -0x1, x1, 4*XLEN/8); + +inst_5: +// rs1==x26, rs2==x27, rd==x28, rs1_val == 1, +// opcode: amocas.d_64 ; dest:x28; addr:x26; src:x27; swap_val:-0x1; swreg:x1; 5*XLEN/8 +TEST_CAS_OP(amocas.d, x28, x26, x27, -0x1, x1, 5*XLEN/8); + +inst_6: +// rs1==x25, rs2==x23, rd==x24, rs2_val == -3, +// opcode: amocas.d_64 ; dest:x24; addr:x25; src:x23; swap_val:-0x3; swreg:x1; 6*XLEN/8 +TEST_CAS_OP(amocas.d, x24, x25, x23, -0x3, x1, 6*XLEN/8); + +inst_7: +// rs1==x24, rs2==x25, rd==x23, rs2_val == -5, +// opcode: amocas.d_64 ; dest:x23; addr:x24; src:x25; swap_val:-0x5; swreg:x1; 7*XLEN/8 +TEST_CAS_OP(amocas.d, x23, x24, x25, -0x5, x1, 7*XLEN/8); + +inst_8: +// rs1==x23, rs2==x24, rd==x25, rs2_val == -9, +// opcode: amocas.d_64 ; dest:x25; addr:x23; src:x24; swap_val:-0x9; swreg:x1; 8*XLEN/8 +TEST_CAS_OP(amocas.d, x25, x23, x24, -0x9, x1, 8*XLEN/8); + +inst_9: +// rs1==x22, rs2==x20, rd==x21, rs2_val == -17, +// opcode: amocas.d_64 ; dest:x21; addr:x22; src:x20; swap_val:-0x11; swreg:x1; 9*XLEN/8 +TEST_CAS_OP(amocas.d, x21, x22, x20, -0x11, x1, 9*XLEN/8); + +inst_10: +// rs1==x21, rs2==x22, rd==x20, rs2_val == -33, +// opcode: amocas.d_64 ; dest:x20; addr:x21; src:x22; swap_val:-0x21; swreg:x1; 10*XLEN/8 +TEST_CAS_OP(amocas.d, x20, x21, x22, -0x21, x1, 10*XLEN/8); + +inst_11: +// rs1==x20, rs2==x21, rd==x22, rs2_val == -65, +// opcode: amocas.d_64 ; dest:x22; addr:x20; src:x21; swap_val:-0x41; swreg:x1; 11*XLEN/8 +TEST_CAS_OP(amocas.d, x22, x20, x21, -0x41, x1, 11*XLEN/8); + +inst_12: +// rs1==x19, rs2==x17, rd==x18, rs2_val == -129, +// opcode: amocas.d_64 ; dest:x18; addr:x19; src:x17; swap_val:-0x81; swreg:x1; 12*XLEN/8 +TEST_CAS_OP(amocas.d, x18, x19, x17, -0x81, x1, 12*XLEN/8); + +inst_13: +// rs1==x18, rs2==x19, rd==x17, rs2_val == -257, +// opcode: amocas.d_64 ; dest:x17; addr:x18; src:x19; swap_val:-0x101; swreg:x1; 13*XLEN/8 +TEST_CAS_OP(amocas.d, x17, x18, x19, -0x101, x1, 13*XLEN/8); + +inst_14: +// rs1==x17, rs2==x18, rd==x19, rs2_val == -513, +// opcode: amocas.d_64 ; dest:x19; addr:x17; src:x18; swap_val:-0x201; swreg:x1; 14*XLEN/8 +TEST_CAS_OP(amocas.d, x19, x17, x18, -0x201, x1, 14*XLEN/8); + +inst_15: +// rs1==x16, rs2==x14, rd==x15, rs2_val == -1025, +// opcode: amocas.d_64 ; dest:x15; addr:x16; src:x14; swap_val:-0x401; swreg:x1; 15*XLEN/8 +TEST_CAS_OP(amocas.d, x15, x16, x14, -0x401, x1, 15*XLEN/8); + +inst_16: +// rs1==x15, rs2==x16, rd==x14, rs2_val == -2049, +// opcode: amocas.d_64 ; dest:x14; addr:x15; src:x16; swap_val:-0x801; swreg:x1; 16*XLEN/8 +TEST_CAS_OP(amocas.d, x14, x15, x16, -0x801, x1, 16*XLEN/8); + +inst_17: +// rs1==x14, rs2==x15, rd==x16, rs2_val == -4097, +// opcode: amocas.d_64 ; dest:x16; addr:x14; src:x15; swap_val:-0x1001; swreg:x1; 17*XLEN/8 +TEST_CAS_OP(amocas.d, x16, x14, x15, -0x1001, x1, 17*XLEN/8); + +inst_18: +// rs1==x13, rs2==x11, rd==x12, rs2_val == -8193, +// opcode: amocas.d_64 ; dest:x12; addr:x13; src:x11; swap_val:-0x2001; swreg:x1; 18*XLEN/8 +TEST_CAS_OP(amocas.d, x12, x13, x11, -0x2001, x1, 18*XLEN/8); + +inst_19: +// rs1==x12, rs2==x13, rd==x11, rs2_val == -16385, +// opcode: amocas.d_64 ; dest:x11; addr:x12; src:x13; swap_val:-0x4001; swreg:x1; 19*XLEN/8 +TEST_CAS_OP(amocas.d, x11, x12, x13, -0x4001, x1, 19*XLEN/8); + +inst_20: +// rs1==x11, rs2==x12, rd==x13, rs2_val == -32769, +// opcode: amocas.d_64 ; dest:x13; addr:x11; src:x12; swap_val:-0x8001; swreg:x1; 20*XLEN/8 +TEST_CAS_OP(amocas.d, x13, x11, x12, -0x8001, x1, 20*XLEN/8); + +inst_21: +// rs1==x10, rs2==x8, rd==x9, rs2_val == -65537, +// opcode: amocas.d_64 ; dest:x9; addr:x10; src:x8; swap_val:-0x10001; swreg:x1; 21*XLEN/8 +TEST_CAS_OP(amocas.d, x9, x10, x8, -0x10001, x1, 21*XLEN/8); + +inst_22: +// rs1==x9, rs2==x10, rd==x8, rs2_val == -131073, +// opcode: amocas.d_64 ; dest:x8; addr:x9; src:x10; swap_val:-0x20001; swreg:x1; 22*XLEN/8 +TEST_CAS_OP(amocas.d, x8, x9, x10, -0x20001, x1, 22*XLEN/8); + +inst_23: +// rs1==x8, rs2==x9, rd==x10, rs2_val == -262145, +// opcode: amocas.d_64 ; dest:x10; addr:x8; src:x9; swap_val:-0x40001; swreg:x1; 23*XLEN/8 +TEST_CAS_OP(amocas.d, x10, x8, x9, -0x40001, x1, 23*XLEN/8); + +inst_24: +// rs1==x7, rs2==x5, rd==x6, rs2_val == -524289, +// opcode: amocas.d_64 ; dest:x6; addr:x7; src:x5; swap_val:-0x80001; swreg:x1; 24*XLEN/8 +TEST_CAS_OP(amocas.d, x6, x7, x5, -0x80001, x1, 24*XLEN/8); +RVTEST_SIGBASE(x8,signature_x8_0) + +inst_25: +// rs1==x6, rs2==x7, rd==x5, rs2_val == -1048577, +// opcode: amocas.d_64 ; dest:x5; addr:x6; src:x7; swap_val:-0x100001; swreg:x8; 0*XLEN/8 +TEST_CAS_OP(amocas.d, x5, x6, x7, -0x100001, x8, 0*XLEN/8); + +inst_26: +// rs1==x5, rs2==x6, rd==x7, rs2_val == -2097153, +// opcode: amocas.d_64 ; dest:x7; addr:x5; src:x6; swap_val:-0x200001; swreg:x8; 1*XLEN/8 +TEST_CAS_OP(amocas.d, x7, x5, x6, -0x200001, x8, 1*XLEN/8); + +inst_27: +// rs1==x4, rs2==x2, rd==x3, rs2_val == -4194305, +// opcode: amocas.d_64 ; dest:x3; addr:x4; src:x2; swap_val:-0x400001; swreg:x8; 2*XLEN/8 +TEST_CAS_OP(amocas.d, x3, x4, x2, -0x400001, x8, 2*XLEN/8); + +inst_28: +// rs1==x3, rs2==x4, rd==x2, rs2_val == -8388609, +// opcode: amocas.d_64 ; dest:x2; addr:x3; src:x4; swap_val:-0x800001; swreg:x8; 3*XLEN/8 +TEST_CAS_OP(amocas.d, x2, x3, x4, -0x800001, x8, 3*XLEN/8); + +inst_29: +// rs1==x2, rs2==x3, rd==x4, rs2_val == -16777217, +// opcode: amocas.d_64 ; dest:x4; addr:x2; src:x3; swap_val:-0x1000001; swreg:x8; 4*XLEN/8 +TEST_CAS_OP(amocas.d, x4, x2, x3, -0x1000001, x8, 4*XLEN/8); + +inst_30: +// rs1==x1, rs2_val == -33554433, +// opcode: amocas.d_64 ; dest:x31; addr:x1; src:x30; swap_val:-0x2000001; swreg:x8; 5*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x1, x30, -0x2000001, x8, 5*XLEN/8); + +inst_31: +// rs2==x1, rs2_val == -67108865, +// opcode: amocas.d_64 ; dest:x30; addr:x31; src:x1; swap_val:-0x4000001; swreg:x8; 6*XLEN/8 +TEST_CAS_OP(amocas.d, x30, x31, x1, -0x4000001, x8, 6*XLEN/8); + +inst_32: +// rs2==x0, rs2_val == -134217729, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x0; swap_val:0x0; swreg:x8; 7*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x0, 0x0, x8, 7*XLEN/8); + +inst_33: +// rd==x1, rs2_val == -268435457, +// opcode: amocas.d_64 ; dest:x1; addr:x31; src:x30; swap_val:-0x10000001; swreg:x8; 8*XLEN/8 +TEST_CAS_OP(amocas.d, x1, x31, x30, -0x10000001, x8, 8*XLEN/8); + +inst_34: +// rd==x0, rs2_val == -536870913, +// opcode: amocas.d_64 ; dest:x0; addr:x31; src:x30; swap_val:-0x20000001; swreg:x8; 9*XLEN/8 +TEST_CAS_OP(amocas.d, x0, x31, x30, -0x20000001, x8, 9*XLEN/8); + +inst_35: +// rs2_val == -1073741825, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x40000001; swreg:x8; 10*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x40000001, x8, 10*XLEN/8); + +inst_36: +// rs2_val == -2147483649, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x80000001; swreg:x8; 11*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x80000001, x8, 11*XLEN/8); + +inst_37: +// rs2_val == -4294967297, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x100000001; swreg:x8; 12*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x100000001, x8, 12*XLEN/8); + +inst_38: +// rs2_val == -8589934593, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x200000001; swreg:x8; 13*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x200000001, x8, 13*XLEN/8); + +inst_39: +// rs2_val == -17179869185, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x400000001; swreg:x8; 14*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x400000001, x8, 14*XLEN/8); + +inst_40: +// rs2_val == -34359738369, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x800000001; swreg:x8; 15*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x800000001, x8, 15*XLEN/8); + +inst_41: +// rs2_val == -68719476737, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1000000001; swreg:x8; 16*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1000000001, x8, 16*XLEN/8); + +inst_42: +// rs2_val == -137438953473, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x2000000001; swreg:x8; 17*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x2000000001, x8, 17*XLEN/8); + +inst_43: +// rs2_val == -274877906945, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x4000000001; swreg:x8; 18*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x4000000001, x8, 18*XLEN/8); + +inst_44: +// rs2_val == -549755813889, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x8000000001; swreg:x8; 19*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x8000000001, x8, 19*XLEN/8); + +inst_45: +// rs2_val == -1099511627777, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x10000000001; swreg:x8; 20*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x10000000001, x8, 20*XLEN/8); + +inst_46: +// rs2_val == -2199023255553, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x20000000001; swreg:x8; 21*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x20000000001, x8, 21*XLEN/8); + +inst_47: +// rs2_val == -4398046511105, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x40000000001; swreg:x8; 22*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x40000000001, x8, 22*XLEN/8); + +inst_48: +// rs2_val == -8796093022209, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x80000000001; swreg:x8; 23*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x80000000001, x8, 23*XLEN/8); + +inst_49: +// rs2_val == -17592186044417, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x100000000001; swreg:x8; 24*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x100000000001, x8, 24*XLEN/8); + +inst_50: +// rs2_val == -35184372088833, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x200000000001; swreg:x8; 25*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x200000000001, x8, 25*XLEN/8); + +inst_51: +// rs2_val == -70368744177665, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x400000000001; swreg:x8; 26*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x400000000001, x8, 26*XLEN/8); + +inst_52: +// rs2_val == -140737488355329, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x800000000001; swreg:x8; 27*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x800000000001, x8, 27*XLEN/8); + +inst_53: +// rs2_val == -281474976710657, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1000000000001; swreg:x8; 28*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1000000000001, x8, 28*XLEN/8); + +inst_54: +// rs2_val == -562949953421313, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x2000000000001; swreg:x8; 29*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x2000000000001, x8, 29*XLEN/8); + +inst_55: +// rs2_val == -1125899906842625, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x4000000000001; swreg:x8; 30*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x4000000000001, x8, 30*XLEN/8); + +inst_56: +// rs2_val == -2251799813685249, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x8000000000001; swreg:x8; 31*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x8000000000001, x8, 31*XLEN/8); + +inst_57: +// rs2_val == -4503599627370497, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x10000000000001; swreg:x8; 32*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x10000000000001, x8, 32*XLEN/8); + +inst_58: +// rs2_val == -9007199254740993, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x20000000000001; swreg:x8; 33*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x20000000000001, x8, 33*XLEN/8); + +inst_59: +// rs2_val == -18014398509481985, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x40000000000001; swreg:x8; 34*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x40000000000001, x8, 34*XLEN/8); + +inst_60: +// rs2_val == -36028797018963969, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x80000000000001; swreg:x8; 35*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x80000000000001, x8, 35*XLEN/8); + +inst_61: +// rs2_val == -72057594037927937, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x100000000000001; swreg:x8; 36*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x100000000000001, x8, 36*XLEN/8); + +inst_62: +// rs2_val == -144115188075855873, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x200000000000001; swreg:x8; 37*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x200000000000001, x8, 37*XLEN/8); + +inst_63: +// rs2_val == -288230376151711745, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x400000000000001; swreg:x8; 38*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x400000000000001, x8, 38*XLEN/8); + +inst_64: +// rs2_val == -576460752303423489, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x800000000000001; swreg:x8; 39*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x800000000000001, x8, 39*XLEN/8); + +inst_65: +// rs2_val == -1152921504606846977, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1000000000000001; swreg:x8; 40*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1000000000000001, x8, 40*XLEN/8); + +inst_66: +// rs2_val == -2305843009213693953, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x2000000000000001; swreg:x8; 41*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x2000000000000001, x8, 41*XLEN/8); + +inst_67: +// rs2_val == -4611686018427387905, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x4000000000000001; swreg:x8; 42*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x4000000000000001, x8, 42*XLEN/8); + +inst_68: +// rs2_val == 9223372036854775807, rs2_val == (2**(xlen-1)-1) +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x7fffffffffffffff; swreg:x8; 43*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x7fffffffffffffff, x8, 43*XLEN/8); + +inst_69: +// rs1_val == -2, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 44*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 44*XLEN/8); + +inst_70: +// rs1_val == -3, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 45*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 45*XLEN/8); + +inst_71: +// rs1_val == -5, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 46*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 46*XLEN/8); + +inst_72: +// rs1_val == -9, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 47*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 47*XLEN/8); + +inst_73: +// rs1_val == -17, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 48*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 48*XLEN/8); + +inst_74: +// rs1_val == -33, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 49*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 49*XLEN/8); + +inst_75: +// rs1_val == -65, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 50*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 50*XLEN/8); + +inst_76: +// rs1_val == -129, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 51*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 51*XLEN/8); + +inst_77: +// rs1_val == -257, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 52*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 52*XLEN/8); + +inst_78: +// rs1_val == -513, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 53*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 53*XLEN/8); + +inst_79: +// rs1_val == -1025, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 54*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 54*XLEN/8); + +inst_80: +// rs1_val == -2049, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 55*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 55*XLEN/8); + +inst_81: +// rs1_val == -4097, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 56*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 56*XLEN/8); + +inst_82: +// rs1_val == -8193, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 57*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 57*XLEN/8); + +inst_83: +// rs1_val == -16385, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 58*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 58*XLEN/8); + +inst_84: +// rs1_val == -32769, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 59*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 59*XLEN/8); + +inst_85: +// rs1_val == -65537, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 60*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 60*XLEN/8); + +inst_86: +// rs1_val == -131073, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 61*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 61*XLEN/8); + +inst_87: +// rs1_val == -262145, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 62*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 62*XLEN/8); + +inst_88: +// rs1_val == -524289, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 63*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 63*XLEN/8); + +inst_89: +// rs1_val == -1048577, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 64*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 64*XLEN/8); + +inst_90: +// rs1_val == -2097153, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 65*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 65*XLEN/8); + +inst_91: +// rs1_val == -4194305, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 66*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 66*XLEN/8); + +inst_92: +// rs1_val == -8388609, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 67*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 67*XLEN/8); + +inst_93: +// rs1_val == -16777217, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 68*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 68*XLEN/8); + +inst_94: +// rs1_val == -33554433, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 69*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 69*XLEN/8); + +inst_95: +// rs1_val == -67108865, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 70*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 70*XLEN/8); + +inst_96: +// rs1_val == -134217729, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 71*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 71*XLEN/8); + +inst_97: +// rs1_val == -268435457, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 72*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 72*XLEN/8); + +inst_98: +// rs1_val == -536870913, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 73*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 73*XLEN/8); + +inst_99: +// rs1_val == -1073741825, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 74*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 74*XLEN/8); + +inst_100: +// rs1_val == -2147483649, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 75*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 75*XLEN/8); + +inst_101: +// rs1_val == -4294967297, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 76*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 76*XLEN/8); + +inst_102: +// rs1_val == -8589934593, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 77*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 77*XLEN/8); + +inst_103: +// rs1_val == -17179869185, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 78*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 78*XLEN/8); + +inst_104: +// rs1_val == -34359738369, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 79*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 79*XLEN/8); + +inst_105: +// rs1_val == -68719476737, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 80*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 80*XLEN/8); + +inst_106: +// rs1_val == -137438953473, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 81*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 81*XLEN/8); + +inst_107: +// rs1_val == -274877906945, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 82*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 82*XLEN/8); + +inst_108: +// rs1_val == -549755813889, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 83*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 83*XLEN/8); + +inst_109: +// rs1_val == -1099511627777, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 84*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 84*XLEN/8); + +inst_110: +// rs1_val == -2199023255553, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 85*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 85*XLEN/8); + +inst_111: +// rs1_val == -4398046511105, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 86*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 86*XLEN/8); + +inst_112: +// rs1_val == -8796093022209, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 87*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 87*XLEN/8); + +inst_113: +// rs1_val == -17592186044417, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 88*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 88*XLEN/8); + +inst_114: +// rs1_val == -35184372088833, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 89*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 89*XLEN/8); + +inst_115: +// rs1_val == -70368744177665, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 90*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 90*XLEN/8); + +inst_116: +// rs1_val == -140737488355329, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 91*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 91*XLEN/8); + +inst_117: +// rs1_val == -281474976710657, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 92*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 92*XLEN/8); + +inst_118: +// rs1_val == -562949953421313, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 93*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 93*XLEN/8); + +inst_119: +// rs1_val == -1125899906842625, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 94*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 94*XLEN/8); + +inst_120: +// rs1_val == -2251799813685249, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 95*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 95*XLEN/8); + +inst_121: +// rs1_val == -4503599627370497, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 96*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 96*XLEN/8); + +inst_122: +// rs1_val == -9007199254740993, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 97*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 97*XLEN/8); + +inst_123: +// rs1_val == -18014398509481985, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 98*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 98*XLEN/8); + +inst_124: +// rs1_val == -36028797018963969, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 99*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 99*XLEN/8); + +inst_125: +// rs1_val == -72057594037927937, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 100*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 100*XLEN/8); + +inst_126: +// rs1_val == -144115188075855873, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 101*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 101*XLEN/8); + +inst_127: +// rs1_val == -288230376151711745, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 102*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 102*XLEN/8); + +inst_128: +// rs1_val == -576460752303423489, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 103*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 103*XLEN/8); + +inst_129: +// rs1_val == -1152921504606846977, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 104*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 104*XLEN/8); + +inst_130: +// rs1_val == -2305843009213693953, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 105*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 105*XLEN/8); + +inst_131: +// rs1_val == -4611686018427387905, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 106*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 106*XLEN/8); + +inst_132: +// rs2_val == 1, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x1; swreg:x8; 107*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x1, x8, 107*XLEN/8); + +inst_133: +// rs2_val == 2, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x2; swreg:x8; 108*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x2, x8, 108*XLEN/8); + +inst_134: +// rs2_val == 4, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x4; swreg:x8; 109*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x4, x8, 109*XLEN/8); + +inst_135: +// rs2_val == 8, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x8; swreg:x8; 110*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x8, x8, 110*XLEN/8); + +inst_136: +// rs2_val == 16, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x10; swreg:x8; 111*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x10, x8, 111*XLEN/8); + +inst_137: +// rs2_val == 32, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x20; swreg:x8; 112*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x20, x8, 112*XLEN/8); + +inst_138: +// rs1_val == 144115188075855872, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 113*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 113*XLEN/8); + +inst_139: +// rs1_val == 288230376151711744, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 114*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 114*XLEN/8); + +inst_140: +// rs1_val == 576460752303423488, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 115*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 115*XLEN/8); + +inst_141: +// rs1_val == 1152921504606846976, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 116*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 116*XLEN/8); + +inst_142: +// rs1_val == 2305843009213693952, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 117*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 117*XLEN/8); + +inst_143: +// rs1_val == 4611686018427387904, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 118*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 118*XLEN/8); + +inst_144: +// rs2_val == -6148914691236517206, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x5555555555555556; swreg:x8; 119*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x5555555555555556, x8, 119*XLEN/8); + +inst_145: +// rs1_val == 6148914691236517205, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 120*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 120*XLEN/8); + +inst_146: +// rs1_val == -6148914691236517206, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 121*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 121*XLEN/8); + +inst_147: +// rs1_val == rs2_val, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 122*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 122*XLEN/8); + +inst_148: +// rs1_val > 0 and rs2_val > 0, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x5555555555555555; swreg:x8; 123*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x5555555555555555, x8, 123*XLEN/8); + +inst_149: +// rs2_val == (-2**(xlen-1)), rs2_val == -9223372036854775808 +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x8000000000000000; swreg:x8; 124*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x8000000000000000, x8, 124*XLEN/8); + +inst_150: +// rs2_val == 0, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x0; swreg:x8; 125*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x0, x8, 125*XLEN/8); + +inst_151: +// rs2_val == 64, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x40; swreg:x8; 126*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x40, x8, 126*XLEN/8); + +inst_152: +// rs2_val == 128, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x80; swreg:x8; 127*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x80, x8, 127*XLEN/8); + +inst_153: +// rs2_val == 256, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x100; swreg:x8; 128*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x100, x8, 128*XLEN/8); + +inst_154: +// rs2_val == 512, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x200; swreg:x8; 129*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x200, x8, 129*XLEN/8); + +inst_155: +// rs2_val == 1024, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x400; swreg:x8; 130*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x400, x8, 130*XLEN/8); + +inst_156: +// rs2_val == 2048, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x800; swreg:x8; 131*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x800, x8, 131*XLEN/8); + +inst_157: +// rs2_val == 4096, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x1000; swreg:x8; 132*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x1000, x8, 132*XLEN/8); + +inst_158: +// rs2_val == 8192, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x2000; swreg:x8; 133*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x2000, x8, 133*XLEN/8); + +inst_159: +// rs2_val == 16384, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x4000; swreg:x8; 134*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x4000, x8, 134*XLEN/8); + +inst_160: +// rs2_val == 32768, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x8000; swreg:x8; 135*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x8000, x8, 135*XLEN/8); + +inst_161: +// rs2_val == 65536, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x10000; swreg:x8; 136*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x10000, x8, 136*XLEN/8); + +inst_162: +// rs2_val == 131072, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x20000; swreg:x8; 137*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x20000, x8, 137*XLEN/8); + +inst_163: +// rs2_val == 262144, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x40000; swreg:x8; 138*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x40000, x8, 138*XLEN/8); + +inst_164: +// rs2_val == 524288, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x80000; swreg:x8; 139*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x80000, x8, 139*XLEN/8); + +inst_165: +// rs2_val == 1048576, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x100000; swreg:x8; 140*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x100000, x8, 140*XLEN/8); + +inst_166: +// rs2_val == 2097152, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x200000; swreg:x8; 141*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x200000, x8, 141*XLEN/8); + +inst_167: +// rs2_val == 4194304, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x400000; swreg:x8; 142*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x400000, x8, 142*XLEN/8); + +inst_168: +// rs2_val == 8388608, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x800000; swreg:x8; 143*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x800000, x8, 143*XLEN/8); + +inst_169: +// rs2_val == 16777216, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x1000000; swreg:x8; 144*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x1000000, x8, 144*XLEN/8); + +inst_170: +// rs2_val == 33554432, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x2000000; swreg:x8; 145*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x2000000, x8, 145*XLEN/8); + +inst_171: +// rs2_val == 67108864, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x4000000; swreg:x8; 146*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x4000000, x8, 146*XLEN/8); + +inst_172: +// rs2_val == 134217728, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x8000000; swreg:x8; 147*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x8000000, x8, 147*XLEN/8); + +inst_173: +// rs2_val == 268435456, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x10000000; swreg:x8; 148*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x10000000, x8, 148*XLEN/8); + +inst_174: +// rs2_val == 536870912, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x20000000; swreg:x8; 149*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x20000000, x8, 149*XLEN/8); + +inst_175: +// rs2_val == 1073741824, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x40000000; swreg:x8; 150*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x40000000, x8, 150*XLEN/8); + +inst_176: +// rs2_val == 2147483648, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x80000000; swreg:x8; 151*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x80000000, x8, 151*XLEN/8); + +inst_177: +// rs2_val == 4294967296, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x100000000; swreg:x8; 152*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x100000000, x8, 152*XLEN/8); + +inst_178: +// rs2_val == 8589934592, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x200000000; swreg:x8; 153*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x200000000, x8, 153*XLEN/8); + +inst_179: +// rs2_val == 17179869184, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x400000000; swreg:x8; 154*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x400000000, x8, 154*XLEN/8); + +inst_180: +// rs2_val == 34359738368, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x800000000; swreg:x8; 155*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x800000000, x8, 155*XLEN/8); + +inst_181: +// rs2_val == 68719476736, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x1000000000; swreg:x8; 156*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x1000000000, x8, 156*XLEN/8); + +inst_182: +// rs2_val == 137438953472, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x2000000000; swreg:x8; 157*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x2000000000, x8, 157*XLEN/8); + +inst_183: +// rs2_val == 274877906944, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x4000000000; swreg:x8; 158*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x4000000000, x8, 158*XLEN/8); + +inst_184: +// rs2_val == 549755813888, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x8000000000; swreg:x8; 159*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x8000000000, x8, 159*XLEN/8); + +inst_185: +// rs2_val == 1099511627776, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x10000000000; swreg:x8; 160*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x10000000000, x8, 160*XLEN/8); + +inst_186: +// rs2_val == 2199023255552, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x20000000000; swreg:x8; 161*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x20000000000, x8, 161*XLEN/8); + +inst_187: +// rs2_val == 4398046511104, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x40000000000; swreg:x8; 162*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x40000000000, x8, 162*XLEN/8); + +inst_188: +// rs2_val == 8796093022208, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x80000000000; swreg:x8; 163*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x80000000000, x8, 163*XLEN/8); + +inst_189: +// rs2_val == 17592186044416, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x100000000000; swreg:x8; 164*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x100000000000, x8, 164*XLEN/8); + +inst_190: +// rs2_val == 35184372088832, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x200000000000; swreg:x8; 165*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x200000000000, x8, 165*XLEN/8); + +inst_191: +// rs2_val == 70368744177664, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x400000000000; swreg:x8; 166*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x400000000000, x8, 166*XLEN/8); + +inst_192: +// rs2_val == 140737488355328, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x800000000000; swreg:x8; 167*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x800000000000, x8, 167*XLEN/8); + +inst_193: +// rs2_val == 281474976710656, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x1000000000000; swreg:x8; 168*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x1000000000000, x8, 168*XLEN/8); + +inst_194: +// rs2_val == 562949953421312, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x2000000000000; swreg:x8; 169*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x2000000000000, x8, 169*XLEN/8); + +inst_195: +// rs2_val == 1125899906842624, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x4000000000000; swreg:x8; 170*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x4000000000000, x8, 170*XLEN/8); + +inst_196: +// rs2_val == 2251799813685248, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x8000000000000; swreg:x8; 171*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x8000000000000, x8, 171*XLEN/8); + +inst_197: +// rs2_val == 4503599627370496, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x10000000000000; swreg:x8; 172*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x10000000000000, x8, 172*XLEN/8); + +inst_198: +// rs2_val == 9007199254740992, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x20000000000000; swreg:x8; 173*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x20000000000000, x8, 173*XLEN/8); + +inst_199: +// rs2_val == 18014398509481984, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x40000000000000; swreg:x8; 174*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x40000000000000, x8, 174*XLEN/8); + +inst_200: +// rs2_val == 36028797018963968, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x80000000000000; swreg:x8; 175*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x80000000000000, x8, 175*XLEN/8); + +inst_201: +// rs2_val == 72057594037927936, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x100000000000000; swreg:x8; 176*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x100000000000000, x8, 176*XLEN/8); + +inst_202: +// rs2_val == 144115188075855872, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x200000000000000; swreg:x8; 177*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x200000000000000, x8, 177*XLEN/8); + +inst_203: +// rs2_val == 288230376151711744, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x400000000000000; swreg:x8; 178*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x400000000000000, x8, 178*XLEN/8); + +inst_204: +// rs2_val == 576460752303423488, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x800000000000000; swreg:x8; 179*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x800000000000000, x8, 179*XLEN/8); + +inst_205: +// rs2_val == 1152921504606846976, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x1000000000000000; swreg:x8; 180*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x1000000000000000, x8, 180*XLEN/8); + +inst_206: +// rs2_val == 2305843009213693952, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x2000000000000000; swreg:x8; 181*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x2000000000000000, x8, 181*XLEN/8); + +inst_207: +// rs2_val == 4611686018427387904, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:0x4000000000000000; swreg:x8; 182*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, 0x4000000000000000, x8, 182*XLEN/8); + +inst_208: +// rs1_val == 2, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 183*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 183*XLEN/8); + +inst_209: +// rs1_val == 4, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 184*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 184*XLEN/8); + +inst_210: +// rs1_val == 8, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 185*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 185*XLEN/8); + +inst_211: +// rs1_val == 16, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 186*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 186*XLEN/8); + +inst_212: +// rs1_val == 32, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 187*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 187*XLEN/8); + +inst_213: +// rs1_val == 64, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 188*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 188*XLEN/8); + +inst_214: +// rs1_val == 128, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 189*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 189*XLEN/8); + +inst_215: +// rs1_val == 256, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 190*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 190*XLEN/8); + +inst_216: +// rs1_val == 512, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 191*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 191*XLEN/8); + +inst_217: +// rs1_val == 1024, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 192*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 192*XLEN/8); + +inst_218: +// rs1_val == 2048, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 193*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 193*XLEN/8); + +inst_219: +// rs1_val == 4096, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 194*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 194*XLEN/8); + +inst_220: +// rs1_val == 8192, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 195*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 195*XLEN/8); + +inst_221: +// rs1_val == 16384, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 196*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 196*XLEN/8); + +inst_222: +// rs1_val == 32768, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 197*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 197*XLEN/8); + +inst_223: +// rs1_val == 65536, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 198*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 198*XLEN/8); + +inst_224: +// rs1_val == 131072, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 199*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 199*XLEN/8); + +inst_225: +// rs1_val == 262144, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 200*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 200*XLEN/8); + +inst_226: +// rs1_val == 524288, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 201*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 201*XLEN/8); + +inst_227: +// rs1_val == 1048576, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 202*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 202*XLEN/8); + +inst_228: +// rs1_val == 2097152, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 203*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 203*XLEN/8); + +inst_229: +// rs1_val == 4194304, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 204*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 204*XLEN/8); + +inst_230: +// rs1_val == 8388608, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 205*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 205*XLEN/8); + +inst_231: +// rs1_val == 16777216, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 206*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 206*XLEN/8); + +inst_232: +// rs1_val == 33554432, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 207*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 207*XLEN/8); + +inst_233: +// rs1_val == 67108864, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 208*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 208*XLEN/8); + +inst_234: +// rs1_val == 134217728, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 209*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 209*XLEN/8); + +inst_235: +// rs1_val == 268435456, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 210*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 210*XLEN/8); + +inst_236: +// rs1_val == 536870912, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 211*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 211*XLEN/8); + +inst_237: +// rs1_val == 1073741824, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 212*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 212*XLEN/8); + +inst_238: +// rs1_val == 2147483648, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 213*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 213*XLEN/8); + +inst_239: +// rs1_val == 4294967296, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 214*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 214*XLEN/8); + +inst_240: +// rs1_val == 8589934592, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 215*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 215*XLEN/8); + +inst_241: +// rs1_val == 17179869184, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 216*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 216*XLEN/8); + +inst_242: +// rs1_val == 34359738368, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 217*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 217*XLEN/8); + +inst_243: +// rs1_val == 68719476736, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 218*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 218*XLEN/8); + +inst_244: +// rs1_val == 137438953472, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 219*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 219*XLEN/8); + +inst_245: +// rs1_val == 274877906944, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 220*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 220*XLEN/8); + +inst_246: +// rs1_val == 549755813888, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 221*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 221*XLEN/8); + +inst_247: +// rs1_val == 1099511627776, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 222*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 222*XLEN/8); + +inst_248: +// rs1_val == 2199023255552, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 223*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 223*XLEN/8); + +inst_249: +// rs1_val == 4398046511104, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 224*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 224*XLEN/8); + +inst_250: +// rs1_val == 8796093022208, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 225*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 225*XLEN/8); + +inst_251: +// rs1_val == 17592186044416, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 226*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 226*XLEN/8); + +inst_252: +// rs1_val == 35184372088832, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 227*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 227*XLEN/8); + +inst_253: +// rs1_val == 70368744177664, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 228*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 228*XLEN/8); + +inst_254: +// rs1_val == 140737488355328, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 229*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 229*XLEN/8); + +inst_255: +// rs1_val == 281474976710656, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 230*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 230*XLEN/8); + +inst_256: +// rs1_val == 562949953421312, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 231*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 231*XLEN/8); + +inst_257: +// rs1_val == 1125899906842624, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 232*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 232*XLEN/8); + +inst_258: +// rs1_val == 2251799813685248, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 233*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 233*XLEN/8); + +inst_259: +// rs1_val == 4503599627370496, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 234*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 234*XLEN/8); + +inst_260: +// rs1_val == 9007199254740992, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 235*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 235*XLEN/8); + +inst_261: +// rs1_val == 18014398509481984, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 236*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 236*XLEN/8); + +inst_262: +// rs1_val == 36028797018963968, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 237*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 237*XLEN/8); + +inst_263: +// rs1_val == 72057594037927936, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 238*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x1, x8, 238*XLEN/8); + +inst_264: +// rs2_val == -134217729, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x8000001; swreg:x8; 239*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x8000001, x8, 239*XLEN/8); + +inst_265: +// rs2_val == -536870913, +// opcode: amocas.d_64 ; dest:x31; addr:x30; src:x29; swap_val:-0x20000001; swreg:x8; 240*XLEN/8 +TEST_CAS_OP(amocas.d, x31, x30, x29, -0x20000001, x8, 240*XLEN/8); +#endif + + +RVTEST_CODE_END +RVMODEL_HALT + +RVTEST_DATA_BEGIN +.align 4 +rvtest_data: +.word 0xbabecafe +.word 0xabecafeb +.word 0xbecafeba +.word 0xecafebab +RVTEST_DATA_END + +RVMODEL_DATA_BEGIN +rvtest_sig_begin: +sig_begin_canary: +CANARY; + + + +signature_x1_0: + .fill 0*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_1: + .fill 25*((XLEN/8)/4),4,0xdeadbeef + + +signature_x8_0: + .fill 241*((XLEN/8)/4),4,0xdeadbeef + +#ifdef rvtest_mtrap_routine +tsig_begin_canary: +CANARY; + +mtrap_sigptr: + .fill 64*XLEN/32,4,0xdeadbeef + +tsig_end_canary: +CANARY; +#endif + +#ifdef rvtest_gpr_save + +gpr_save: + .fill 32*XLEN/32,4,0xdeadbeef + +#endif + + +sig_end_canary: +CANARY; +rvtest_sig_end: +RVMODEL_DATA_END diff --git a/riscv-test-suite/rv64i_m/Zacas/src/amocas.q-01.S b/riscv-test-suite/rv64i_m/Zacas/src/amocas.q-01.S new file mode 100644 index 000000000..f299ed652 --- /dev/null +++ b/riscv-test-suite/rv64i_m/Zacas/src/amocas.q-01.S @@ -0,0 +1,2701 @@ + +// ----------- +// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg) +// version : 0.11.0 +// timestamp : Fri Jul 28 01:07:22 2023 GMT +// usage : riscv_ctg \ +// -- cgf // --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/dataset.cgf \ +// --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/rv64zacas.cgf \ + \ +// -- xlen 64 \ +// ----------- +// +// ----------- +// Copyright (c) 2020. RISC-V International. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// ----------- +// +// This assembly file tests the amocas.q instruction of the RISC-V RV64Zacas extension for the amocas.q covergroup. +// +#include "model_test.h" +#include "arch_test.h" +RVTEST_ISA("RV64IZacas") + +.section .text.init +.globl rvtest_entry_point +rvtest_entry_point: +RVMODEL_BOOT +RVTEST_CODE_BEGIN + +#ifdef TEST_CASE_1 + +RVTEST_CASE(0,"//check ISA:=regex(.*Zacas.*);def TEST_CASE_1=True;",amocas.q) + +RVTEST_SIGBASE(x1,signature_x1_1) + +inst_0: +// rs1 != rs2 and rs1 != rd and rs2 != rd, rs1==x31, rs2==x26, rd==x28, rs1_val != rs2_val, rs1_val < 0 and rs2_val < 0, rs1_val == -2 +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 0*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 0*XLEN/8); + +inst_1: +// rs1==x30, rs2==x28, rd==x26, rs1_val < 0 and rs2_val > 0, rs2_val == 316912650057057350374175801344 +// opcode: amocas.q ; dest(x26, x27) addr:x30; src:(x28, x29); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 2*XLEN/8 +TEST_DCAS_OP(amocas.q, x26, x27, x30, x28, x29, 0x0000000000000000, 0x0000000000000000, x1, 2*XLEN/8); + +inst_2: +// rs1==x29, rs2==x22, rd==x24, rs1_val == 0, rs2_val == -2 +// opcode: amocas.q ; dest(x24, x25) addr:x29; src:(x22, x23); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 4*XLEN/8 +TEST_DCAS_OP(amocas.q, x24, x25, x29, x22, x23, 0x00000000fffffffe, 0x00000000ffffffff, x1, 4*XLEN/8); + +inst_3: +// rs1==x28, rs2==x24, rd==x22, rs1_val == 1, rs1_val > 0 and rs2_val < 0 +// opcode: amocas.q ; dest(x22, x23) addr:x28; src:(x24, x25); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 6*XLEN/8 +TEST_DCAS_OP(amocas.q, x22, x23, x28, x24, x25, 0x00000000fffffffe, 0x00000000ffffffff, x1, 6*XLEN/8); + +inst_4: +// rs1==x27, rs2==x18, rd==x20, rs1_val == rs2_val, +// opcode: amocas.q ; dest(x20, x21) addr:x27; src:(x18, x19); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 8*XLEN/8 +TEST_DCAS_OP(amocas.q, x20, x21, x27, x18, x19, 0x00000000fffffffe, 0x00000000ffffffff, x1, 8*XLEN/8); + +inst_5: +// rs1==x26, rs2==x20, rd==x18, rs2_val == -3, +// opcode: amocas.q ; dest(x18, x19) addr:x26; src:(x20, x21); swap_val:(0x00000000fffffffd, 0x00000000ffffffff), swreg:x1, 10*XLEN/8 +TEST_DCAS_OP(amocas.q, x18, x19, x26, x20, x21, 0x00000000fffffffd, 0x00000000ffffffff, x1, 10*XLEN/8); + +inst_6: +// rs1==x25, rs2==x14, rd==x16, rs2_val == -5, +// opcode: amocas.q ; dest(x16, x17) addr:x25; src:(x14, x15); swap_val:(0x00000000fffffffb, 0x00000000ffffffff), swreg:x1, 12*XLEN/8 +TEST_DCAS_OP(amocas.q, x16, x17, x25, x14, x15, 0x00000000fffffffb, 0x00000000ffffffff, x1, 12*XLEN/8); + +inst_7: +// rs1==x24, rs2==x16, rd==x14, rs2_val == -9, +// opcode: amocas.q ; dest(x14, x15) addr:x24; src:(x16, x17); swap_val:(0x00000000fffffff7, 0x00000000ffffffff), swreg:x1, 14*XLEN/8 +TEST_DCAS_OP(amocas.q, x14, x15, x24, x16, x17, 0x00000000fffffff7, 0x00000000ffffffff, x1, 14*XLEN/8); + +inst_8: +// rs1==x23, rs2==x10, rd==x12, rs2_val == -17, +// opcode: amocas.q ; dest(x12, x13) addr:x23; src:(x10, x11); swap_val:(0x00000000ffffffef, 0x00000000ffffffff), swreg:x1, 16*XLEN/8 +TEST_DCAS_OP(amocas.q, x12, x13, x23, x10, x11, 0x00000000ffffffef, 0x00000000ffffffff, x1, 16*XLEN/8); + +inst_9: +// rs1==x22, rs2==x12, rd==x10, rs2_val == -33, +// opcode: amocas.q ; dest(x10, x11) addr:x22; src:(x12, x13); swap_val:(0x00000000ffffffdf, 0x00000000ffffffff), swreg:x1, 18*XLEN/8 +TEST_DCAS_OP(amocas.q, x10, x11, x22, x12, x13, 0x00000000ffffffdf, 0x00000000ffffffff, x1, 18*XLEN/8); + +inst_10: +// rs1==x21, rs2==x6, rd==x8, rs2_val == -65, +// opcode: amocas.q ; dest(x8, x9) addr:x21; src:(x6, x7); swap_val:(0x00000000ffffffbf, 0x00000000ffffffff), swreg:x1, 20*XLEN/8 +TEST_DCAS_OP(amocas.q, x8, x9, x21, x6, x7, 0x00000000ffffffbf, 0x00000000ffffffff, x1, 20*XLEN/8); +RVTEST_SIGBASE(x21,signature_x21_0) + +inst_11: +// rs1==x20, rs2==x8, rd==x6, rs2_val == -129, +// opcode: amocas.q ; dest(x6, x7) addr:x20; src:(x8, x9); swap_val:(0x00000000ffffff7f, 0x00000000ffffffff), swreg:x21, 0*XLEN/8 +TEST_DCAS_OP(amocas.q, x6, x7, x20, x8, x9, 0x00000000ffffff7f, 0x00000000ffffffff, x21, 0*XLEN/8); + +inst_12: +// rs1==x19, rs2==x2, rd==x4, rs2_val == -257, +// opcode: amocas.q ; dest(x4, x5) addr:x19; src:(x2, x3); swap_val:(0x00000000fffffeff, 0x00000000ffffffff), swreg:x21, 2*XLEN/8 +TEST_DCAS_OP(amocas.q, x4, x5, x19, x2, x3, 0x00000000fffffeff, 0x00000000ffffffff, x21, 2*XLEN/8); + +inst_13: +// rs1==x18, rs2==x4, rd==x2, rs2_val == -513, +// opcode: amocas.q ; dest(x2, x3) addr:x18; src:(x4, x5); swap_val:(0x00000000fffffdff, 0x00000000ffffffff), swreg:x21, 4*XLEN/8 +TEST_DCAS_OP(amocas.q, x2, x3, x18, x4, x5, 0x00000000fffffdff, 0x00000000ffffffff, x21, 4*XLEN/8); + +inst_14: +// rs1==x17, rs2_val == -1025, +// opcode: amocas.q ; dest(x28, x29) addr:x17; src:(x26, x27); swap_val:(0x00000000fffffbff, 0x00000000ffffffff), swreg:x21, 6*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x17, x26, x27, 0x00000000fffffbff, 0x00000000ffffffff, x21, 6*XLEN/8); + +inst_15: +// rs1==x16, rs2_val == -2049, +// opcode: amocas.q ; dest(x28, x29) addr:x16; src:(x26, x27); swap_val:(0x00000000fffff7ff, 0x00000000ffffffff), swreg:x21, 8*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x16, x26, x27, 0x00000000fffff7ff, 0x00000000ffffffff, x21, 8*XLEN/8); + +inst_16: +// rs1==x15, rs2_val == -4097, +// opcode: amocas.q ; dest(x28, x29) addr:x15; src:(x26, x27); swap_val:(0x00000000ffffefff, 0x00000000ffffffff), swreg:x21, 10*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x15, x26, x27, 0x00000000ffffefff, 0x00000000ffffffff, x21, 10*XLEN/8); + +inst_17: +// rs1==x14, rs2_val == -8193, +// opcode: amocas.q ; dest(x28, x29) addr:x14; src:(x26, x27); swap_val:(0x00000000ffffdfff, 0x00000000ffffffff), swreg:x21, 12*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x14, x26, x27, 0x00000000ffffdfff, 0x00000000ffffffff, x21, 12*XLEN/8); + +inst_18: +// rs1==x13, rs2_val == -16385, +// opcode: amocas.q ; dest(x28, x29) addr:x13; src:(x26, x27); swap_val:(0x00000000ffffbfff, 0x00000000ffffffff), swreg:x21, 14*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x13, x26, x27, 0x00000000ffffbfff, 0x00000000ffffffff, x21, 14*XLEN/8); + +inst_19: +// rs1==x12, rs2_val == -32769, +// opcode: amocas.q ; dest(x28, x29) addr:x12; src:(x26, x27); swap_val:(0x00000000ffff7fff, 0x00000000ffffffff), swreg:x21, 16*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x12, x26, x27, 0x00000000ffff7fff, 0x00000000ffffffff, x21, 16*XLEN/8); + +inst_20: +// rs1==x11, rs2_val == -65537, +// opcode: amocas.q ; dest(x28, x29) addr:x11; src:(x26, x27); swap_val:(0x00000000fffeffff, 0x00000000ffffffff), swreg:x21, 18*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x11, x26, x27, 0x00000000fffeffff, 0x00000000ffffffff, x21, 18*XLEN/8); + +inst_21: +// rs1==x10, rs2_val == -131073, +// opcode: amocas.q ; dest(x28, x29) addr:x10; src:(x26, x27); swap_val:(0x00000000fffdffff, 0x00000000ffffffff), swreg:x21, 20*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x10, x26, x27, 0x00000000fffdffff, 0x00000000ffffffff, x21, 20*XLEN/8); + +inst_22: +// rs1==x9, rs2_val == -262145, +// opcode: amocas.q ; dest(x28, x29) addr:x9; src:(x26, x27); swap_val:(0x00000000fffbffff, 0x00000000ffffffff), swreg:x21, 22*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x9, x26, x27, 0x00000000fffbffff, 0x00000000ffffffff, x21, 22*XLEN/8); + +inst_23: +// rs1==x8, rs2_val == -524289, +// opcode: amocas.q ; dest(x28, x29) addr:x8; src:(x26, x27); swap_val:(0x00000000fff7ffff, 0x00000000ffffffff), swreg:x21, 24*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x8, x26, x27, 0x00000000fff7ffff, 0x00000000ffffffff, x21, 24*XLEN/8); + +inst_24: +// rs1==x7, rs2_val == -1048577, +// opcode: amocas.q ; dest(x28, x29) addr:x7; src:(x26, x27); swap_val:(0x00000000ffefffff, 0x00000000ffffffff), swreg:x21, 26*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x7, x26, x27, 0x00000000ffefffff, 0x00000000ffffffff, x21, 26*XLEN/8); + +inst_25: +// rs1==x6, rs2_val == -2097153, +// opcode: amocas.q ; dest(x28, x29) addr:x6; src:(x26, x27); swap_val:(0x00000000ffdfffff, 0x00000000ffffffff), swreg:x21, 28*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x6, x26, x27, 0x00000000ffdfffff, 0x00000000ffffffff, x21, 28*XLEN/8); + +inst_26: +// rs1==x5, rs2_val == -4194305, +// opcode: amocas.q ; dest(x28, x29) addr:x5; src:(x26, x27); swap_val:(0x00000000ffbfffff, 0x00000000ffffffff), swreg:x21, 30*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x5, x26, x27, 0x00000000ffbfffff, 0x00000000ffffffff, x21, 30*XLEN/8); + +inst_27: +// rs1==x4, rs2_val == -8388609, +// opcode: amocas.q ; dest(x28, x29) addr:x4; src:(x26, x27); swap_val:(0x00000000ff7fffff, 0x00000000ffffffff), swreg:x21, 32*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x4, x26, x27, 0x00000000ff7fffff, 0x00000000ffffffff, x21, 32*XLEN/8); + +inst_28: +// rs1==x3, rs2_val == -16777217, +// opcode: amocas.q ; dest(x28, x29) addr:x3; src:(x26, x27); swap_val:(0x00000000feffffff, 0x00000000ffffffff), swreg:x21, 34*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x3, x26, x27, 0x00000000feffffff, 0x00000000ffffffff, x21, 34*XLEN/8); + +inst_29: +// rs1==x2, rs2_val == -33554433, +// opcode: amocas.q ; dest(x28, x29) addr:x2; src:(x26, x27); swap_val:(0x00000000fdffffff, 0x00000000ffffffff), swreg:x21, 36*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x2, x26, x27, 0x00000000fdffffff, 0x00000000ffffffff, x21, 36*XLEN/8); + +inst_30: +// rs1==x1, rs2_val == -67108865, +// opcode: amocas.q ; dest(x28, x29) addr:x1; src:(x26, x27); swap_val:(0x00000000fbffffff, 0x00000000ffffffff), swreg:x21, 38*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x1, x26, x27, 0x00000000fbffffff, 0x00000000ffffffff, x21, 38*XLEN/8); +RVTEST_SIGBASE(x1,signature_x1_2) + +inst_31: +// rs2_val == -134217729, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000f7ffffff, 0x00000000ffffffff), swreg:x1, 0*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000f7ffffff, 0x00000000ffffffff, x1, 0*XLEN/8); + +inst_32: +// rs2_val == -268435457, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000efffffff, 0x00000000ffffffff), swreg:x1, 2*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000efffffff, 0x00000000ffffffff, x1, 2*XLEN/8); + +inst_33: +// rs2_val == -536870913, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000dfffffff, 0x00000000ffffffff), swreg:x1, 4*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000dfffffff, 0x00000000ffffffff, x1, 4*XLEN/8); + +inst_34: +// rs2_val == -1073741825, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000bfffffff, 0x00000000ffffffff), swreg:x1, 6*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000bfffffff, 0x00000000ffffffff, x1, 6*XLEN/8); + +inst_35: +// rs2_val == -2147483649, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x000000007fffffff, 0x00000000ffffffff), swreg:x1, 8*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x000000007fffffff, 0x00000000ffffffff, x1, 8*XLEN/8); + +inst_36: +// rs2_val == -4294967297, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffffffe), swreg:x1, 10*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffffffe, x1, 10*XLEN/8); + +inst_37: +// rs2_val == -8589934593, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffffffd), swreg:x1, 12*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffffffd, x1, 12*XLEN/8); + +inst_38: +// rs2_val == -17179869185, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffffffb), swreg:x1, 14*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffffffb, x1, 14*XLEN/8); + +inst_39: +// rs2_val == -34359738369, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffffff7), swreg:x1, 16*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffffff7, x1, 16*XLEN/8); + +inst_40: +// rs2_val == -68719476737, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffef), swreg:x1, 18*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffef, x1, 18*XLEN/8); + +inst_41: +// rs2_val == -137438953473, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffdf), swreg:x1, 20*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffdf, x1, 20*XLEN/8); + +inst_42: +// rs2_val == -274877906945, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffbf), swreg:x1, 22*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffbf, x1, 22*XLEN/8); + +inst_43: +// rs2_val == -549755813889, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffff7f), swreg:x1, 24*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffff7f, x1, 24*XLEN/8); + +inst_44: +// rs2_val == -1099511627777, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffffeff), swreg:x1, 26*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffffeff, x1, 26*XLEN/8); + +inst_45: +// rs2_val == -2199023255553, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffffdff), swreg:x1, 28*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffffdff, x1, 28*XLEN/8); + +inst_46: +// rs2_val == -4398046511105, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffffbff), swreg:x1, 30*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffffbff, x1, 30*XLEN/8); + +inst_47: +// rs2_val == -8796093022209, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffff7ff), swreg:x1, 32*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffff7ff, x1, 32*XLEN/8); + +inst_48: +// rs2_val == -17592186044417, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffefff), swreg:x1, 34*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffefff, x1, 34*XLEN/8); + +inst_49: +// rs2_val == -35184372088833, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffdfff), swreg:x1, 36*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffdfff, x1, 36*XLEN/8); + +inst_50: +// rs2_val == -70368744177665, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffbfff), swreg:x1, 38*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffbfff, x1, 38*XLEN/8); + +inst_51: +// rs2_val == -140737488355329, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffff7fff), swreg:x1, 40*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffff7fff, x1, 40*XLEN/8); + +inst_52: +// rs2_val == -281474976710657, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffeffff), swreg:x1, 42*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffeffff, x1, 42*XLEN/8); + +inst_53: +// rs2_val == -562949953421313, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffdffff), swreg:x1, 44*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffdffff, x1, 44*XLEN/8); + +inst_54: +// rs2_val == -1125899906842625, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fffbffff), swreg:x1, 46*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fffbffff, x1, 46*XLEN/8); + +inst_55: +// rs2_val == -2251799813685249, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fff7ffff), swreg:x1, 48*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fff7ffff, x1, 48*XLEN/8); + +inst_56: +// rs2_val == -4503599627370497, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffefffff), swreg:x1, 50*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffefffff, x1, 50*XLEN/8); + +inst_57: +// rs2_val == -9007199254740993, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffdfffff), swreg:x1, 52*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffdfffff, x1, 52*XLEN/8); + +inst_58: +// rs2_val == -18014398509481985, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffbfffff), swreg:x1, 54*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffbfffff, x1, 54*XLEN/8); + +inst_59: +// rs2_val == -36028797018963969, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ff7fffff), swreg:x1, 56*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ff7fffff, x1, 56*XLEN/8); + +inst_60: +// rs2_val == -72057594037927937, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000feffffff), swreg:x1, 58*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000feffffff, x1, 58*XLEN/8); + +inst_61: +// rs2_val == -144115188075855873, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fdffffff), swreg:x1, 60*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fdffffff, x1, 60*XLEN/8); + +inst_62: +// rs2_val == -288230376151711745, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000fbffffff), swreg:x1, 62*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000fbffffff, x1, 62*XLEN/8); + +inst_63: +// rs2_val == -576460752303423489, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000f7ffffff), swreg:x1, 64*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000f7ffffff, x1, 64*XLEN/8); + +inst_64: +// rs2_val == -1152921504606846977, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000efffffff), swreg:x1, 66*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000efffffff, x1, 66*XLEN/8); + +inst_65: +// rs2_val == -2305843009213693953, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000dfffffff), swreg:x1, 68*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000dfffffff, x1, 68*XLEN/8); + +inst_66: +// rs2_val == -4611686018427387905, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000bfffffff), swreg:x1, 70*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000bfffffff, x1, 70*XLEN/8); + +inst_67: +// rs2_val == -9223372036854775809, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x000000007fffffff), swreg:x1, 72*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x000000007fffffff, x1, 72*XLEN/8); + +inst_68: +// rs2_val == -18446744073709551617, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 74*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 74*XLEN/8); + +inst_69: +// rs2_val == -36893488147419103233, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 76*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 76*XLEN/8); + +inst_70: +// rs2_val == -73786976294838206465, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 78*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 78*XLEN/8); + +inst_71: +// rs2_val == -147573952589676412929, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 80*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 80*XLEN/8); + +inst_72: +// rs2_val == -295147905179352825857, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 82*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 82*XLEN/8); + +inst_73: +// rs2_val == -590295810358705651713, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 84*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 84*XLEN/8); + +inst_74: +// rs2_val == -1180591620717411303425, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 86*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 86*XLEN/8); + +inst_75: +// rs2_val == -2361183241434822606849, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 88*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 88*XLEN/8); + +inst_76: +// rs2_val == -4722366482869645213697, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 90*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 90*XLEN/8); + +inst_77: +// rs2_val == -9444732965739290427393, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 92*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 92*XLEN/8); + +inst_78: +// rs2_val == -18889465931478580854785, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 94*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 94*XLEN/8); + +inst_79: +// rs2_val == -37778931862957161709569, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 96*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 96*XLEN/8); + +inst_80: +// rs2_val == -75557863725914323419137, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 98*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 98*XLEN/8); + +inst_81: +// rs2_val == -151115727451828646838273, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 100*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 100*XLEN/8); + +inst_82: +// rs2_val == -302231454903657293676545, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 102*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 102*XLEN/8); + +inst_83: +// rs2_val == -604462909807314587353089, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 104*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 104*XLEN/8); + +inst_84: +// rs2_val == -1208925819614629174706177, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 106*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 106*XLEN/8); + +inst_85: +// rs2_val == -2417851639229258349412353, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 108*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 108*XLEN/8); + +inst_86: +// rs2_val == -4835703278458516698824705, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 110*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 110*XLEN/8); + +inst_87: +// rs2_val == -9671406556917033397649409, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 112*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 112*XLEN/8); + +inst_88: +// rs2_val == -19342813113834066795298817, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 114*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 114*XLEN/8); + +inst_89: +// rs2_val == -38685626227668133590597633, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 116*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 116*XLEN/8); + +inst_90: +// rs2_val == -77371252455336267181195265, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 118*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 118*XLEN/8); + +inst_91: +// rs2_val == -154742504910672534362390529, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 120*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 120*XLEN/8); + +inst_92: +// rs2_val == -309485009821345068724781057, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 122*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 122*XLEN/8); + +inst_93: +// rs2_val == -618970019642690137449562113, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 124*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 124*XLEN/8); + +inst_94: +// rs2_val == -1237940039285380274899124225, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 126*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 126*XLEN/8); + +inst_95: +// rs2_val == -2475880078570760549798248449, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 128*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 128*XLEN/8); + +inst_96: +// rs2_val == -4951760157141521099596496897, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 130*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 130*XLEN/8); + +inst_97: +// rs2_val == -9903520314283042199192993793, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 132*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 132*XLEN/8); + +inst_98: +// rs2_val == -19807040628566084398385987585, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 134*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 134*XLEN/8); + +inst_99: +// rs2_val == -39614081257132168796771975169, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 136*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 136*XLEN/8); + +inst_100: +// rs2_val == -79228162514264337593543950337, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 138*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 138*XLEN/8); + +inst_101: +// rs2_val == -158456325028528675187087900673, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 140*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 140*XLEN/8); + +inst_102: +// rs2_val == -316912650057057350374175801345, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 142*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 142*XLEN/8); + +inst_103: +// rs2_val == -633825300114114700748351602689, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 144*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 144*XLEN/8); + +inst_104: +// rs2_val == -1267650600228229401496703205377, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 146*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 146*XLEN/8); + +inst_105: +// rs2_val == -2535301200456458802993406410753, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 148*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 148*XLEN/8); + +inst_106: +// rs2_val == -5070602400912917605986812821505, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 150*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 150*XLEN/8); + +inst_107: +// rs2_val == -10141204801825835211973625643009, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 152*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 152*XLEN/8); + +inst_108: +// rs2_val == -20282409603651670423947251286017, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 154*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 154*XLEN/8); + +inst_109: +// rs2_val == -40564819207303340847894502572033, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 156*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 156*XLEN/8); + +inst_110: +// rs2_val == -81129638414606681695789005144065, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 158*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 158*XLEN/8); + +inst_111: +// rs2_val == -162259276829213363391578010288129, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 160*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 160*XLEN/8); + +inst_112: +// rs2_val == -324518553658426726783156020576257, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 162*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 162*XLEN/8); + +inst_113: +// rs2_val == -649037107316853453566312041152513, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 164*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 164*XLEN/8); + +inst_114: +// rs2_val == -1298074214633706907132624082305025, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 166*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 166*XLEN/8); + +inst_115: +// rs2_val == -2596148429267413814265248164610049, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 168*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 168*XLEN/8); + +inst_116: +// rs2_val == -5192296858534827628530496329220097, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 170*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 170*XLEN/8); + +inst_117: +// rs2_val == -10384593717069655257060992658440193, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 172*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 172*XLEN/8); + +inst_118: +// rs2_val == -20769187434139310514121985316880385, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 174*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 174*XLEN/8); + +inst_119: +// rs2_val == -41538374868278621028243970633760769, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 176*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 176*XLEN/8); + +inst_120: +// rs2_val == -83076749736557242056487941267521537, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 178*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 178*XLEN/8); + +inst_121: +// rs2_val == -166153499473114484112975882535043073, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 180*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 180*XLEN/8); + +inst_122: +// rs2_val == -332306998946228968225951765070086145, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 182*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 182*XLEN/8); + +inst_123: +// rs2_val == -664613997892457936451903530140172289, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 184*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 184*XLEN/8); + +inst_124: +// rs2_val == -1329227995784915872903807060280344577, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 186*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 186*XLEN/8); + +inst_125: +// rs2_val == -2658455991569831745807614120560689153, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 188*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 188*XLEN/8); + +inst_126: +// rs2_val == -5316911983139663491615228241121378305, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 190*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 190*XLEN/8); + +inst_127: +// rs2_val == -10633823966279326983230456482242756609, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 192*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 192*XLEN/8); + +inst_128: +// rs2_val == -21267647932558653966460912964485513217, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 194*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 194*XLEN/8); + +inst_129: +// rs2_val == -42535295865117307932921825928971026433, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 196*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 196*XLEN/8); + +inst_130: +// rs2_val == -85070591730234615865843651857942052865, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 198*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 198*XLEN/8); + +inst_131: +// rs2_val == 170141183460469231731687303715884105727, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000ffffffff, 0x00000000ffffffff), swreg:x1, 200*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000ffffffff, 0x00000000ffffffff, x1, 200*XLEN/8); + +inst_132: +// rs1_val == -3, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 202*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 202*XLEN/8); + +inst_133: +// rs1_val == -5, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 204*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 204*XLEN/8); + +inst_134: +// rs1_val == -9, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 206*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 206*XLEN/8); + +inst_135: +// rs1_val == -17, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 208*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 208*XLEN/8); + +inst_136: +// rs1_val == -33, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 210*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 210*XLEN/8); + +inst_137: +// rs1_val == -65, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 212*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 212*XLEN/8); + +inst_138: +// rs1_val == -129, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 214*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 214*XLEN/8); + +inst_139: +// rs1_val == -257, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 216*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 216*XLEN/8); + +inst_140: +// rs1_val == -513, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 218*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 218*XLEN/8); + +inst_141: +// rs1_val == -1025, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 220*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 220*XLEN/8); + +inst_142: +// rs1_val == -2049, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 222*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 222*XLEN/8); + +inst_143: +// rs1_val == -4097, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 224*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 224*XLEN/8); + +inst_144: +// rs1_val == -8193, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 226*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 226*XLEN/8); + +inst_145: +// rs1_val == -16385, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 228*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 228*XLEN/8); + +inst_146: +// rs1_val == -32769, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 230*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 230*XLEN/8); + +inst_147: +// rs1_val == -65537, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 232*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 232*XLEN/8); + +inst_148: +// rs1_val == -131073, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 234*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 234*XLEN/8); + +inst_149: +// rs1_val == -262145, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 236*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 236*XLEN/8); + +inst_150: +// rs1_val == -524289, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 238*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 238*XLEN/8); + +inst_151: +// rs1_val == -1048577, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 240*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 240*XLEN/8); + +inst_152: +// rs1_val == -2097153, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 242*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 242*XLEN/8); + +inst_153: +// rs1_val == -4194305, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 244*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 244*XLEN/8); + +inst_154: +// rs1_val == -8388609, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 246*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 246*XLEN/8); + +inst_155: +// rs1_val == -16777217, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 248*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 248*XLEN/8); + +inst_156: +// rs1_val == -33554433, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 250*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 250*XLEN/8); + +inst_157: +// rs1_val == -67108865, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 252*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 252*XLEN/8); + +inst_158: +// rs1_val == -134217729, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 254*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 254*XLEN/8); +RVTEST_SIGBASE(x1,signature_x1_3) + +inst_159: +// rs1_val == -268435457, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 0*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 0*XLEN/8); + +inst_160: +// rs1_val == -536870913, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 2*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 2*XLEN/8); + +inst_161: +// rs1_val == -1073741825, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 4*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 4*XLEN/8); + +inst_162: +// rs1_val == -2147483649, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 6*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 6*XLEN/8); + +inst_163: +// rs1_val == -4294967297, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 8*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 8*XLEN/8); + +inst_164: +// rs1_val == -8589934593, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 10*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 10*XLEN/8); + +inst_165: +// rs1_val == -17179869185, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 12*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 12*XLEN/8); + +inst_166: +// rs1_val == -34359738369, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 14*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 14*XLEN/8); + +inst_167: +// rs1_val == -68719476737, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 16*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 16*XLEN/8); + +inst_168: +// rs1_val == -137438953473, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 18*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 18*XLEN/8); + +inst_169: +// rs1_val == -274877906945, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 20*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 20*XLEN/8); + +inst_170: +// rs1_val == -549755813889, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 22*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 22*XLEN/8); + +inst_171: +// rs1_val == -1099511627777, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 24*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 24*XLEN/8); + +inst_172: +// rs1_val == -2199023255553, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 26*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 26*XLEN/8); + +inst_173: +// rs1_val == -4398046511105, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 28*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 28*XLEN/8); + +inst_174: +// rs1_val == -8796093022209, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 30*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 30*XLEN/8); + +inst_175: +// rs1_val == -17592186044417, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 32*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 32*XLEN/8); + +inst_176: +// rs1_val == -35184372088833, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 34*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 34*XLEN/8); + +inst_177: +// rs1_val == -70368744177665, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 36*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 36*XLEN/8); + +inst_178: +// rs1_val == -140737488355329, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 38*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 38*XLEN/8); + +inst_179: +// rs1_val == -281474976710657, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 40*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 40*XLEN/8); + +inst_180: +// rs1_val == -562949953421313, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 42*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 42*XLEN/8); + +inst_181: +// rs1_val == -1125899906842625, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 44*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 44*XLEN/8); + +inst_182: +// rs1_val == -2251799813685249, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 46*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 46*XLEN/8); + +inst_183: +// rs1_val == -4503599627370497, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 48*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 48*XLEN/8); + +inst_184: +// rs1_val == -9007199254740993, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 50*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 50*XLEN/8); + +inst_185: +// rs1_val == -18014398509481985, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 52*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 52*XLEN/8); + +inst_186: +// rs1_val == -36028797018963969, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 54*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 54*XLEN/8); + +inst_187: +// rs1_val == -72057594037927937, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 56*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 56*XLEN/8); + +inst_188: +// rs1_val == -144115188075855873, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 58*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 58*XLEN/8); + +inst_189: +// rs1_val == -288230376151711745, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 60*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 60*XLEN/8); + +inst_190: +// rs1_val == -576460752303423489, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 62*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 62*XLEN/8); + +inst_191: +// rs1_val == -1152921504606846977, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 64*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 64*XLEN/8); + +inst_192: +// rs1_val == -2305843009213693953, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 66*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 66*XLEN/8); + +inst_193: +// rs1_val == -4611686018427387905, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 68*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 68*XLEN/8); + +inst_194: +// rs1_val == -9223372036854775809, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 70*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 70*XLEN/8); + +inst_195: +// rs1_val == -18446744073709551617, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 72*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 72*XLEN/8); + +inst_196: +// rs1_val == -36893488147419103233, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 74*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 74*XLEN/8); + +inst_197: +// rs1_val == -73786976294838206465, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 76*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 76*XLEN/8); + +inst_198: +// rs1_val == -147573952589676412929, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 78*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 78*XLEN/8); + +inst_199: +// rs1_val == -295147905179352825857, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 80*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 80*XLEN/8); + +inst_200: +// rs1_val == -590295810358705651713, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 82*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 82*XLEN/8); + +inst_201: +// rs1_val == -1180591620717411303425, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 84*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 84*XLEN/8); + +inst_202: +// rs1_val == -2361183241434822606849, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 86*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 86*XLEN/8); + +inst_203: +// rs1_val == -4722366482869645213697, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 88*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 88*XLEN/8); + +inst_204: +// rs1_val == -9444732965739290427393, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 90*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 90*XLEN/8); + +inst_205: +// rs1_val == -18889465931478580854785, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 92*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 92*XLEN/8); + +inst_206: +// rs1_val == -37778931862957161709569, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 94*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 94*XLEN/8); + +inst_207: +// rs1_val == -75557863725914323419137, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 96*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 96*XLEN/8); + +inst_208: +// rs1_val == -151115727451828646838273, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 98*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 98*XLEN/8); + +inst_209: +// rs1_val == -302231454903657293676545, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 100*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 100*XLEN/8); + +inst_210: +// rs1_val == -604462909807314587353089, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 102*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 102*XLEN/8); + +inst_211: +// rs1_val == -1208925819614629174706177, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 104*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 104*XLEN/8); + +inst_212: +// rs1_val == -2417851639229258349412353, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 106*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 106*XLEN/8); + +inst_213: +// rs1_val == -4835703278458516698824705, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 108*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 108*XLEN/8); + +inst_214: +// rs1_val == -9671406556917033397649409, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 110*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 110*XLEN/8); + +inst_215: +// rs1_val == -19342813113834066795298817, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 112*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 112*XLEN/8); + +inst_216: +// rs1_val == -38685626227668133590597633, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 114*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 114*XLEN/8); + +inst_217: +// rs1_val == -77371252455336267181195265, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 116*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 116*XLEN/8); + +inst_218: +// rs1_val == -154742504910672534362390529, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 118*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 118*XLEN/8); + +inst_219: +// rs1_val == -309485009821345068724781057, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 120*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 120*XLEN/8); + +inst_220: +// rs1_val == -618970019642690137449562113, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 122*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 122*XLEN/8); + +inst_221: +// rs1_val == -1237940039285380274899124225, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 124*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 124*XLEN/8); + +inst_222: +// rs1_val == -2475880078570760549798248449, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 126*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 126*XLEN/8); + +inst_223: +// rs1_val == -4951760157141521099596496897, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 128*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 128*XLEN/8); + +inst_224: +// rs1_val == -9903520314283042199192993793, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 130*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 130*XLEN/8); + +inst_225: +// rs1_val == -19807040628566084398385987585, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 132*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 132*XLEN/8); + +inst_226: +// rs1_val == -39614081257132168796771975169, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 134*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 134*XLEN/8); + +inst_227: +// rs1_val == -79228162514264337593543950337, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 136*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 136*XLEN/8); + +inst_228: +// rs1_val == -158456325028528675187087900673, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 138*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 138*XLEN/8); + +inst_229: +// rs1_val == -316912650057057350374175801345, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 140*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 140*XLEN/8); + +inst_230: +// rs1_val == -633825300114114700748351602689, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 142*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 142*XLEN/8); + +inst_231: +// rs1_val == -1267650600228229401496703205377, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 144*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 144*XLEN/8); + +inst_232: +// rs1_val == -2535301200456458802993406410753, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 146*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 146*XLEN/8); + +inst_233: +// rs1_val == -5070602400912917605986812821505, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 148*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 148*XLEN/8); + +inst_234: +// rs1_val == -10141204801825835211973625643009, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 150*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 150*XLEN/8); + +inst_235: +// rs1_val == -20282409603651670423947251286017, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 152*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 152*XLEN/8); + +inst_236: +// rs1_val == -40564819207303340847894502572033, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 154*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 154*XLEN/8); + +inst_237: +// rs1_val == -81129638414606681695789005144065, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 156*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 156*XLEN/8); + +inst_238: +// rs1_val == -162259276829213363391578010288129, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 158*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 158*XLEN/8); + +inst_239: +// rs1_val == -324518553658426726783156020576257, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 160*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 160*XLEN/8); + +inst_240: +// rs1_val == -649037107316853453566312041152513, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 162*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 162*XLEN/8); + +inst_241: +// rs1_val == -1298074214633706907132624082305025, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 164*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 164*XLEN/8); + +inst_242: +// rs1_val == -2596148429267413814265248164610049, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 166*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 166*XLEN/8); + +inst_243: +// rs1_val == -5192296858534827628530496329220097, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 168*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 168*XLEN/8); + +inst_244: +// rs1_val == -10384593717069655257060992658440193, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 170*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 170*XLEN/8); + +inst_245: +// rs1_val == -20769187434139310514121985316880385, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 172*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 172*XLEN/8); + +inst_246: +// rs1_val == -41538374868278621028243970633760769, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 174*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 174*XLEN/8); + +inst_247: +// rs1_val == -83076749736557242056487941267521537, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 176*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 176*XLEN/8); + +inst_248: +// rs1_val == -166153499473114484112975882535043073, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 178*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 178*XLEN/8); + +inst_249: +// rs1_val == -332306998946228968225951765070086145, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 180*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 180*XLEN/8); + +inst_250: +// rs1_val == -664613997892457936451903530140172289, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 182*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 182*XLEN/8); + +inst_251: +// rs1_val == -1329227995784915872903807060280344577, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 184*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 184*XLEN/8); + +inst_252: +// rs1_val == -2658455991569831745807614120560689153, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 186*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 186*XLEN/8); + +inst_253: +// rs1_val == -5316911983139663491615228241121378305, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 188*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 188*XLEN/8); + +inst_254: +// rs1_val == -10633823966279326983230456482242756609, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 190*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 190*XLEN/8); + +inst_255: +// rs1_val == -21267647932558653966460912964485513217, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 192*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 192*XLEN/8); + +inst_256: +// rs1_val == -42535295865117307932921825928971026433, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 194*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 194*XLEN/8); + +inst_257: +// rs1_val == -85070591730234615865843651857942052865, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 196*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 196*XLEN/8); + +inst_258: +// rs1_val == 170141183460469231731687303715884105727, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 198*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 198*XLEN/8); + +inst_259: +// rs2_val == 1, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000001, 0x0000000000000000), swreg:x1, 200*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000001, 0x0000000000000000, x1, 200*XLEN/8); + +inst_260: +// rs2_val == 2, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000002, 0x0000000000000000), swreg:x1, 202*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000002, 0x0000000000000000, x1, 202*XLEN/8); + +inst_261: +// rs2_val == 4, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000004, 0x0000000000000000), swreg:x1, 204*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000004, 0x0000000000000000, x1, 204*XLEN/8); + +inst_262: +// rs2_val == 8, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000008, 0x0000000000000000), swreg:x1, 206*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000008, 0x0000000000000000, x1, 206*XLEN/8); + +inst_263: +// rs2_val == 16, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000010, 0x0000000000000000), swreg:x1, 208*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000010, 0x0000000000000000, x1, 208*XLEN/8); + +inst_264: +// rs1_val == 2658455991569831745807614120560689152, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 210*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 210*XLEN/8); + +inst_265: +// rs1_val == 5316911983139663491615228241121378304, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 212*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 212*XLEN/8); + +inst_266: +// rs1_val == 10633823966279326983230456482242756608, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 214*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 214*XLEN/8); + +inst_267: +// rs1_val == 21267647932558653966460912964485513216, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 216*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 216*XLEN/8); + +inst_268: +// rs1_val == 42535295865117307932921825928971026432, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 218*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 218*XLEN/8); + +inst_269: +// rs1_val == 85070591730234615865843651857942052864, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 220*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 220*XLEN/8); + +inst_270: +// rs1_val == -170141183460469231731687303715884105728, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 222*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 222*XLEN/8); + +inst_271: +// rs2_val == -113427455640312821154458202477256070486, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000aaaaaaaa, 0x00000000aaaaaaaa), swreg:x1, 224*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000aaaaaaaa, 0x00000000aaaaaaaa, x1, 224*XLEN/8); + +inst_272: +// rs1_val == 113427455640312821154458202477256070485, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 226*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 226*XLEN/8); + +inst_273: +// rs1_val == -113427455640312821154458202477256070486, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 228*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 228*XLEN/8); + +inst_274: +// rs1_val > 0 and rs2_val > 0, rs1_val == 316912650057057350374175801344 +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 230*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 230*XLEN/8); + +inst_275: +// rs2_val == 0, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 232*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 232*XLEN/8); + +inst_276: +// rs2_val == 32, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000020, 0x0000000000000000), swreg:x1, 234*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000020, 0x0000000000000000, x1, 234*XLEN/8); + +inst_277: +// rs2_val == 64, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000040, 0x0000000000000000), swreg:x1, 236*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000040, 0x0000000000000000, x1, 236*XLEN/8); + +inst_278: +// rs2_val == 128, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000080, 0x0000000000000000), swreg:x1, 238*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000080, 0x0000000000000000, x1, 238*XLEN/8); + +inst_279: +// rs2_val == 256, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000100, 0x0000000000000000), swreg:x1, 240*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000100, 0x0000000000000000, x1, 240*XLEN/8); + +inst_280: +// rs2_val == 512, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000200, 0x0000000000000000), swreg:x1, 242*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000200, 0x0000000000000000, x1, 242*XLEN/8); + +inst_281: +// rs2_val == 1024, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000400, 0x0000000000000000), swreg:x1, 244*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000400, 0x0000000000000000, x1, 244*XLEN/8); + +inst_282: +// rs2_val == 2048, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000800, 0x0000000000000000), swreg:x1, 246*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000800, 0x0000000000000000, x1, 246*XLEN/8); + +inst_283: +// rs2_val == 4096, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000001000, 0x0000000000000000), swreg:x1, 248*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000001000, 0x0000000000000000, x1, 248*XLEN/8); + +inst_284: +// rs2_val == 8192, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000002000, 0x0000000000000000), swreg:x1, 250*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000002000, 0x0000000000000000, x1, 250*XLEN/8); + +inst_285: +// rs2_val == 16384, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000004000, 0x0000000000000000), swreg:x1, 252*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000004000, 0x0000000000000000, x1, 252*XLEN/8); + +inst_286: +// rs2_val == 32768, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000008000, 0x0000000000000000), swreg:x1, 254*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000008000, 0x0000000000000000, x1, 254*XLEN/8); +RVTEST_SIGBASE(x1,signature_x1_4) + +inst_287: +// rs2_val == 65536, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000010000, 0x0000000000000000), swreg:x1, 0*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000010000, 0x0000000000000000, x1, 0*XLEN/8); + +inst_288: +// rs2_val == 131072, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000020000, 0x0000000000000000), swreg:x1, 2*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000020000, 0x0000000000000000, x1, 2*XLEN/8); + +inst_289: +// rs2_val == 262144, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000040000, 0x0000000000000000), swreg:x1, 4*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000040000, 0x0000000000000000, x1, 4*XLEN/8); + +inst_290: +// rs2_val == 524288, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000080000, 0x0000000000000000), swreg:x1, 6*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000080000, 0x0000000000000000, x1, 6*XLEN/8); + +inst_291: +// rs2_val == 1048576, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000100000, 0x0000000000000000), swreg:x1, 8*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000100000, 0x0000000000000000, x1, 8*XLEN/8); + +inst_292: +// rs2_val == 2097152, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000200000, 0x0000000000000000), swreg:x1, 10*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000200000, 0x0000000000000000, x1, 10*XLEN/8); + +inst_293: +// rs2_val == 4194304, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000400000, 0x0000000000000000), swreg:x1, 12*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000400000, 0x0000000000000000, x1, 12*XLEN/8); + +inst_294: +// rs2_val == 8388608, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000800000, 0x0000000000000000), swreg:x1, 14*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000800000, 0x0000000000000000, x1, 14*XLEN/8); + +inst_295: +// rs2_val == 16777216, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000001000000, 0x0000000000000000), swreg:x1, 16*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000001000000, 0x0000000000000000, x1, 16*XLEN/8); + +inst_296: +// rs2_val == 33554432, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000002000000, 0x0000000000000000), swreg:x1, 18*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000002000000, 0x0000000000000000, x1, 18*XLEN/8); + +inst_297: +// rs2_val == 67108864, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000004000000, 0x0000000000000000), swreg:x1, 20*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000004000000, 0x0000000000000000, x1, 20*XLEN/8); + +inst_298: +// rs2_val == 134217728, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000008000000, 0x0000000000000000), swreg:x1, 22*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000008000000, 0x0000000000000000, x1, 22*XLEN/8); + +inst_299: +// rs2_val == 268435456, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000010000000, 0x0000000000000000), swreg:x1, 24*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000010000000, 0x0000000000000000, x1, 24*XLEN/8); + +inst_300: +// rs2_val == 536870912, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000020000000, 0x0000000000000000), swreg:x1, 26*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000020000000, 0x0000000000000000, x1, 26*XLEN/8); + +inst_301: +// rs2_val == 1073741824, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000040000000, 0x0000000000000000), swreg:x1, 28*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000040000000, 0x0000000000000000, x1, 28*XLEN/8); + +inst_302: +// rs2_val == 2147483648, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000080000000, 0x0000000000000000), swreg:x1, 30*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000080000000, 0x0000000000000000, x1, 30*XLEN/8); + +inst_303: +// rs2_val == 4294967296, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000001), swreg:x1, 32*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000001, x1, 32*XLEN/8); + +inst_304: +// rs2_val == 8589934592, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000002), swreg:x1, 34*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000002, x1, 34*XLEN/8); + +inst_305: +// rs2_val == 17179869184, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000004), swreg:x1, 36*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000004, x1, 36*XLEN/8); + +inst_306: +// rs2_val == 34359738368, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000008), swreg:x1, 38*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000008, x1, 38*XLEN/8); + +inst_307: +// rs2_val == 68719476736, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000010), swreg:x1, 40*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000010, x1, 40*XLEN/8); + +inst_308: +// rs2_val == 137438953472, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000020), swreg:x1, 42*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000020, x1, 42*XLEN/8); + +inst_309: +// rs2_val == 274877906944, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000040), swreg:x1, 44*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000040, x1, 44*XLEN/8); + +inst_310: +// rs2_val == 549755813888, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000080), swreg:x1, 46*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000080, x1, 46*XLEN/8); + +inst_311: +// rs2_val == 1099511627776, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000100), swreg:x1, 48*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000100, x1, 48*XLEN/8); + +inst_312: +// rs2_val == 2199023255552, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000200), swreg:x1, 50*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000200, x1, 50*XLEN/8); + +inst_313: +// rs2_val == 4398046511104, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000400), swreg:x1, 52*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000400, x1, 52*XLEN/8); + +inst_314: +// rs2_val == 8796093022208, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000800), swreg:x1, 54*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000800, x1, 54*XLEN/8); + +inst_315: +// rs2_val == 17592186044416, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000001000), swreg:x1, 56*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000001000, x1, 56*XLEN/8); + +inst_316: +// rs2_val == 35184372088832, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000002000), swreg:x1, 58*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000002000, x1, 58*XLEN/8); + +inst_317: +// rs2_val == 70368744177664, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000004000), swreg:x1, 60*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000004000, x1, 60*XLEN/8); + +inst_318: +// rs2_val == 140737488355328, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000008000), swreg:x1, 62*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000008000, x1, 62*XLEN/8); + +inst_319: +// rs2_val == 281474976710656, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000010000), swreg:x1, 64*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000010000, x1, 64*XLEN/8); + +inst_320: +// rs2_val == 562949953421312, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000020000), swreg:x1, 66*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000020000, x1, 66*XLEN/8); + +inst_321: +// rs2_val == 1125899906842624, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000040000), swreg:x1, 68*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000040000, x1, 68*XLEN/8); + +inst_322: +// rs2_val == 2251799813685248, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000080000), swreg:x1, 70*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000080000, x1, 70*XLEN/8); + +inst_323: +// rs2_val == 4503599627370496, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000100000), swreg:x1, 72*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000100000, x1, 72*XLEN/8); + +inst_324: +// rs2_val == 9007199254740992, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000200000), swreg:x1, 74*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000200000, x1, 74*XLEN/8); + +inst_325: +// rs2_val == 18014398509481984, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000400000), swreg:x1, 76*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000400000, x1, 76*XLEN/8); + +inst_326: +// rs2_val == 36028797018963968, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000800000), swreg:x1, 78*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000800000, x1, 78*XLEN/8); + +inst_327: +// rs2_val == 72057594037927936, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000001000000), swreg:x1, 80*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000001000000, x1, 80*XLEN/8); + +inst_328: +// rs2_val == 144115188075855872, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000002000000), swreg:x1, 82*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000002000000, x1, 82*XLEN/8); + +inst_329: +// rs2_val == 288230376151711744, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000004000000), swreg:x1, 84*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000004000000, x1, 84*XLEN/8); + +inst_330: +// rs2_val == 576460752303423488, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000008000000), swreg:x1, 86*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000008000000, x1, 86*XLEN/8); + +inst_331: +// rs2_val == 1152921504606846976, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000010000000), swreg:x1, 88*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000010000000, x1, 88*XLEN/8); + +inst_332: +// rs2_val == 2305843009213693952, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000020000000), swreg:x1, 90*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000020000000, x1, 90*XLEN/8); + +inst_333: +// rs2_val == 4611686018427387904, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000040000000), swreg:x1, 92*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000040000000, x1, 92*XLEN/8); + +inst_334: +// rs2_val == 9223372036854775808, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000080000000), swreg:x1, 94*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000080000000, x1, 94*XLEN/8); + +inst_335: +// rs2_val == 18446744073709551616, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 96*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 96*XLEN/8); + +inst_336: +// rs2_val == 36893488147419103232, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 98*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 98*XLEN/8); + +inst_337: +// rs2_val == 73786976294838206464, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 100*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 100*XLEN/8); + +inst_338: +// rs2_val == 147573952589676412928, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 102*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 102*XLEN/8); + +inst_339: +// rs2_val == 295147905179352825856, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 104*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 104*XLEN/8); + +inst_340: +// rs2_val == 590295810358705651712, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 106*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 106*XLEN/8); + +inst_341: +// rs2_val == 1180591620717411303424, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 108*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 108*XLEN/8); + +inst_342: +// rs2_val == 2361183241434822606848, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 110*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 110*XLEN/8); + +inst_343: +// rs2_val == 4722366482869645213696, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 112*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 112*XLEN/8); + +inst_344: +// rs2_val == 9444732965739290427392, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 114*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 114*XLEN/8); + +inst_345: +// rs2_val == 18889465931478580854784, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 116*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 116*XLEN/8); + +inst_346: +// rs2_val == 37778931862957161709568, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 118*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 118*XLEN/8); + +inst_347: +// rs2_val == 75557863725914323419136, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 120*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 120*XLEN/8); + +inst_348: +// rs2_val == 151115727451828646838272, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 122*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 122*XLEN/8); + +inst_349: +// rs2_val == 302231454903657293676544, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 124*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 124*XLEN/8); + +inst_350: +// rs2_val == 604462909807314587353088, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 126*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 126*XLEN/8); + +inst_351: +// rs2_val == 1208925819614629174706176, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 128*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 128*XLEN/8); + +inst_352: +// rs2_val == 2417851639229258349412352, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 130*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 130*XLEN/8); + +inst_353: +// rs2_val == 4835703278458516698824704, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 132*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 132*XLEN/8); + +inst_354: +// rs2_val == 9671406556917033397649408, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 134*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 134*XLEN/8); + +inst_355: +// rs2_val == 19342813113834066795298816, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 136*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 136*XLEN/8); + +inst_356: +// rs2_val == 38685626227668133590597632, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 138*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 138*XLEN/8); + +inst_357: +// rs2_val == 77371252455336267181195264, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 140*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 140*XLEN/8); + +inst_358: +// rs2_val == 154742504910672534362390528, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 142*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 142*XLEN/8); + +inst_359: +// rs2_val == 309485009821345068724781056, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 144*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 144*XLEN/8); + +inst_360: +// rs2_val == 618970019642690137449562112, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 146*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 146*XLEN/8); + +inst_361: +// rs2_val == 1237940039285380274899124224, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 148*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 148*XLEN/8); + +inst_362: +// rs2_val == 2475880078570760549798248448, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 150*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 150*XLEN/8); + +inst_363: +// rs2_val == 4951760157141521099596496896, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 152*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 152*XLEN/8); + +inst_364: +// rs2_val == 9903520314283042199192993792, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 154*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 154*XLEN/8); + +inst_365: +// rs2_val == 19807040628566084398385987584, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 156*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 156*XLEN/8); + +inst_366: +// rs2_val == 39614081257132168796771975168, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 158*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 158*XLEN/8); + +inst_367: +// rs2_val == 79228162514264337593543950336, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 160*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 160*XLEN/8); + +inst_368: +// rs2_val == 158456325028528675187087900672, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 162*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 162*XLEN/8); + +inst_369: +// rs2_val == 633825300114114700748351602688, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 164*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 164*XLEN/8); + +inst_370: +// rs2_val == 1267650600228229401496703205376, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 166*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 166*XLEN/8); + +inst_371: +// rs2_val == 2535301200456458802993406410752, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 168*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 168*XLEN/8); + +inst_372: +// rs2_val == 5070602400912917605986812821504, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 170*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 170*XLEN/8); + +inst_373: +// rs2_val == 10141204801825835211973625643008, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 172*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 172*XLEN/8); + +inst_374: +// rs2_val == 20282409603651670423947251286016, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 174*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 174*XLEN/8); + +inst_375: +// rs2_val == 40564819207303340847894502572032, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 176*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 176*XLEN/8); + +inst_376: +// rs2_val == 81129638414606681695789005144064, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 178*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 178*XLEN/8); + +inst_377: +// rs2_val == 162259276829213363391578010288128, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 180*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 180*XLEN/8); + +inst_378: +// rs2_val == 324518553658426726783156020576256, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 182*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 182*XLEN/8); + +inst_379: +// rs2_val == 649037107316853453566312041152512, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 184*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 184*XLEN/8); + +inst_380: +// rs2_val == 1298074214633706907132624082305024, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 186*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 186*XLEN/8); + +inst_381: +// rs2_val == 2596148429267413814265248164610048, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 188*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 188*XLEN/8); + +inst_382: +// rs2_val == 5192296858534827628530496329220096, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 190*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 190*XLEN/8); + +inst_383: +// rs2_val == 10384593717069655257060992658440192, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 192*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 192*XLEN/8); + +inst_384: +// rs2_val == 20769187434139310514121985316880384, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 194*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 194*XLEN/8); + +inst_385: +// rs2_val == 41538374868278621028243970633760768, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 196*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 196*XLEN/8); + +inst_386: +// rs2_val == 83076749736557242056487941267521536, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 198*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 198*XLEN/8); + +inst_387: +// rs2_val == 166153499473114484112975882535043072, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 200*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 200*XLEN/8); + +inst_388: +// rs2_val == 332306998946228968225951765070086144, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 202*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 202*XLEN/8); + +inst_389: +// rs2_val == 664613997892457936451903530140172288, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 204*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 204*XLEN/8); + +inst_390: +// rs2_val == 1329227995784915872903807060280344576, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 206*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 206*XLEN/8); + +inst_391: +// rs2_val == 2658455991569831745807614120560689152, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 208*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 208*XLEN/8); + +inst_392: +// rs2_val == 5316911983139663491615228241121378304, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 210*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 210*XLEN/8); + +inst_393: +// rs2_val == 10633823966279326983230456482242756608, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 212*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 212*XLEN/8); + +inst_394: +// rs2_val == 21267647932558653966460912964485513216, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 214*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 214*XLEN/8); + +inst_395: +// rs2_val == 42535295865117307932921825928971026432, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 216*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 216*XLEN/8); + +inst_396: +// rs2_val == 85070591730234615865843651857942052864, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 218*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 218*XLEN/8); + +inst_397: +// rs2_val == -170141183460469231731687303715884105728, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000000000000, 0x0000000000000000), swreg:x1, 220*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000000000000, 0x0000000000000000, x1, 220*XLEN/8); + +inst_398: +// rs2_val == 113427455640312821154458202477256070485, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x0000000055555555, 0x0000000055555555), swreg:x1, 222*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x0000000055555555, 0x0000000055555555, x1, 222*XLEN/8); + +inst_399: +// rs1_val == 2, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 224*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 224*XLEN/8); + +inst_400: +// rs1_val == 4, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 226*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 226*XLEN/8); + +inst_401: +// rs1_val == 8, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 228*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 228*XLEN/8); + +inst_402: +// rs1_val == 16, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 230*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 230*XLEN/8); + +inst_403: +// rs1_val == 32, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 232*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 232*XLEN/8); + +inst_404: +// rs1_val == 64, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 234*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 234*XLEN/8); + +inst_405: +// rs1_val == 128, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 236*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 236*XLEN/8); + +inst_406: +// rs1_val == 256, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 238*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 238*XLEN/8); + +inst_407: +// rs1_val == 512, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 240*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 240*XLEN/8); + +inst_408: +// rs1_val == 1024, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 242*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 242*XLEN/8); + +inst_409: +// rs1_val == 2048, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 244*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 244*XLEN/8); + +inst_410: +// rs1_val == 4096, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 246*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 246*XLEN/8); + +inst_411: +// rs1_val == 8192, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 248*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 248*XLEN/8); + +inst_412: +// rs1_val == 16384, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 250*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 250*XLEN/8); + +inst_413: +// rs1_val == 32768, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 252*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 252*XLEN/8); + +inst_414: +// rs1_val == 65536, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 254*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 254*XLEN/8); +RVTEST_SIGBASE(x1,signature_x1_5) + +inst_415: +// rs1_val == 131072, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 0*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 0*XLEN/8); + +inst_416: +// rs1_val == 262144, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 2*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 2*XLEN/8); + +inst_417: +// rs1_val == 524288, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 4*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 4*XLEN/8); + +inst_418: +// rs1_val == 1048576, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 6*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 6*XLEN/8); + +inst_419: +// rs1_val == 2097152, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 8*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 8*XLEN/8); + +inst_420: +// rs1_val == 4194304, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 10*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 10*XLEN/8); + +inst_421: +// rs1_val == 8388608, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 12*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 12*XLEN/8); + +inst_422: +// rs1_val == 16777216, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 14*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 14*XLEN/8); + +inst_423: +// rs1_val == 33554432, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 16*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 16*XLEN/8); + +inst_424: +// rs1_val == 67108864, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 18*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 18*XLEN/8); + +inst_425: +// rs1_val == 134217728, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 20*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 20*XLEN/8); + +inst_426: +// rs1_val == 268435456, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 22*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 22*XLEN/8); + +inst_427: +// rs1_val == 536870912, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 24*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 24*XLEN/8); + +inst_428: +// rs1_val == 1073741824, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 26*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 26*XLEN/8); + +inst_429: +// rs1_val == 2147483648, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 28*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 28*XLEN/8); + +inst_430: +// rs1_val == 4294967296, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 30*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 30*XLEN/8); + +inst_431: +// rs1_val == 8589934592, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 32*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 32*XLEN/8); + +inst_432: +// rs1_val == 17179869184, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 34*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 34*XLEN/8); + +inst_433: +// rs1_val == 34359738368, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 36*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 36*XLEN/8); + +inst_434: +// rs1_val == 68719476736, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 38*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 38*XLEN/8); + +inst_435: +// rs1_val == 137438953472, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 40*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 40*XLEN/8); + +inst_436: +// rs1_val == 274877906944, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 42*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 42*XLEN/8); + +inst_437: +// rs1_val == 549755813888, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 44*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 44*XLEN/8); + +inst_438: +// rs1_val == 1099511627776, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 46*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 46*XLEN/8); + +inst_439: +// rs1_val == 2199023255552, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 48*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 48*XLEN/8); + +inst_440: +// rs1_val == 4398046511104, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 50*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 50*XLEN/8); + +inst_441: +// rs1_val == 8796093022208, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 52*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 52*XLEN/8); + +inst_442: +// rs1_val == 17592186044416, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 54*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 54*XLEN/8); + +inst_443: +// rs1_val == 35184372088832, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 56*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 56*XLEN/8); + +inst_444: +// rs1_val == 70368744177664, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 58*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 58*XLEN/8); + +inst_445: +// rs1_val == 140737488355328, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 60*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 60*XLEN/8); + +inst_446: +// rs1_val == 281474976710656, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 62*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 62*XLEN/8); + +inst_447: +// rs1_val == 562949953421312, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 64*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 64*XLEN/8); + +inst_448: +// rs1_val == 1125899906842624, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 66*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 66*XLEN/8); + +inst_449: +// rs1_val == 2251799813685248, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 68*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 68*XLEN/8); + +inst_450: +// rs1_val == 4503599627370496, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 70*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 70*XLEN/8); + +inst_451: +// rs1_val == 9007199254740992, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 72*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 72*XLEN/8); + +inst_452: +// rs1_val == 18014398509481984, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 74*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 74*XLEN/8); + +inst_453: +// rs1_val == 36028797018963968, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 76*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 76*XLEN/8); + +inst_454: +// rs1_val == 72057594037927936, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 78*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 78*XLEN/8); + +inst_455: +// rs1_val == 144115188075855872, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 80*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 80*XLEN/8); + +inst_456: +// rs1_val == 288230376151711744, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 82*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 82*XLEN/8); + +inst_457: +// rs1_val == 576460752303423488, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 84*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 84*XLEN/8); + +inst_458: +// rs1_val == 1152921504606846976, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 86*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 86*XLEN/8); + +inst_459: +// rs1_val == 2305843009213693952, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 88*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 88*XLEN/8); + +inst_460: +// rs1_val == 4611686018427387904, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 90*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 90*XLEN/8); + +inst_461: +// rs1_val == 9223372036854775808, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 92*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 92*XLEN/8); + +inst_462: +// rs1_val == 18446744073709551616, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 94*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 94*XLEN/8); + +inst_463: +// rs1_val == 36893488147419103232, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 96*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 96*XLEN/8); + +inst_464: +// rs1_val == 73786976294838206464, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 98*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 98*XLEN/8); + +inst_465: +// rs1_val == 147573952589676412928, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 100*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 100*XLEN/8); + +inst_466: +// rs1_val == 295147905179352825856, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 102*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 102*XLEN/8); + +inst_467: +// rs1_val == 590295810358705651712, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 104*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 104*XLEN/8); + +inst_468: +// rs1_val == 1180591620717411303424, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 106*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 106*XLEN/8); + +inst_469: +// rs1_val == 2361183241434822606848, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 108*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 108*XLEN/8); + +inst_470: +// rs1_val == 4722366482869645213696, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 110*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 110*XLEN/8); + +inst_471: +// rs1_val == 9444732965739290427392, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 112*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 112*XLEN/8); + +inst_472: +// rs1_val == 18889465931478580854784, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 114*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 114*XLEN/8); + +inst_473: +// rs1_val == 37778931862957161709568, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 116*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 116*XLEN/8); + +inst_474: +// rs1_val == 75557863725914323419136, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 118*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 118*XLEN/8); + +inst_475: +// rs1_val == 151115727451828646838272, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 120*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 120*XLEN/8); + +inst_476: +// rs1_val == 302231454903657293676544, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 122*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 122*XLEN/8); + +inst_477: +// rs1_val == 604462909807314587353088, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 124*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 124*XLEN/8); + +inst_478: +// rs1_val == 1208925819614629174706176, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 126*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 126*XLEN/8); + +inst_479: +// rs1_val == 2417851639229258349412352, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 128*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 128*XLEN/8); + +inst_480: +// rs1_val == 4835703278458516698824704, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 130*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 130*XLEN/8); + +inst_481: +// rs1_val == 9671406556917033397649408, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 132*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 132*XLEN/8); + +inst_482: +// rs1_val == 19342813113834066795298816, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 134*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 134*XLEN/8); + +inst_483: +// rs1_val == 38685626227668133590597632, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 136*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 136*XLEN/8); + +inst_484: +// rs1_val == 77371252455336267181195264, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 138*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 138*XLEN/8); + +inst_485: +// rs1_val == 154742504910672534362390528, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 140*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 140*XLEN/8); + +inst_486: +// rs1_val == 309485009821345068724781056, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 142*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 142*XLEN/8); + +inst_487: +// rs1_val == 618970019642690137449562112, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 144*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 144*XLEN/8); + +inst_488: +// rs1_val == 1237940039285380274899124224, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 146*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 146*XLEN/8); + +inst_489: +// rs1_val == 2475880078570760549798248448, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 148*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 148*XLEN/8); + +inst_490: +// rs1_val == 4951760157141521099596496896, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 150*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 150*XLEN/8); + +inst_491: +// rs1_val == 9903520314283042199192993792, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 152*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 152*XLEN/8); + +inst_492: +// rs1_val == 19807040628566084398385987584, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 154*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 154*XLEN/8); + +inst_493: +// rs1_val == 39614081257132168796771975168, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 156*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 156*XLEN/8); + +inst_494: +// rs1_val == 79228162514264337593543950336, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 158*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 158*XLEN/8); + +inst_495: +// rs1_val == 158456325028528675187087900672, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 160*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 160*XLEN/8); + +inst_496: +// rs1_val == 633825300114114700748351602688, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 162*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 162*XLEN/8); + +inst_497: +// rs1_val == 1267650600228229401496703205376, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 164*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 164*XLEN/8); + +inst_498: +// rs1_val == 2535301200456458802993406410752, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 166*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 166*XLEN/8); + +inst_499: +// rs1_val == 5070602400912917605986812821504, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 168*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 168*XLEN/8); + +inst_500: +// rs1_val == 10141204801825835211973625643008, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 170*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 170*XLEN/8); + +inst_501: +// rs1_val == 20282409603651670423947251286016, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 172*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 172*XLEN/8); + +inst_502: +// rs1_val == 40564819207303340847894502572032, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 174*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 174*XLEN/8); + +inst_503: +// rs1_val == 81129638414606681695789005144064, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 176*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 176*XLEN/8); + +inst_504: +// rs1_val == 162259276829213363391578010288128, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 178*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 178*XLEN/8); + +inst_505: +// rs1_val == 324518553658426726783156020576256, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 180*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 180*XLEN/8); + +inst_506: +// rs1_val == 649037107316853453566312041152512, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 182*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 182*XLEN/8); + +inst_507: +// rs1_val == 1298074214633706907132624082305024, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 184*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 184*XLEN/8); + +inst_508: +// rs1_val == 2596148429267413814265248164610048, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 186*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 186*XLEN/8); + +inst_509: +// rs1_val == 5192296858534827628530496329220096, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 188*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 188*XLEN/8); + +inst_510: +// rs1_val == 10384593717069655257060992658440192, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 190*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 190*XLEN/8); + +inst_511: +// rs1_val == 20769187434139310514121985316880384, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 192*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 192*XLEN/8); + +inst_512: +// rs1_val == 41538374868278621028243970633760768, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 194*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 194*XLEN/8); + +inst_513: +// rs1_val == 83076749736557242056487941267521536, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 196*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 196*XLEN/8); + +inst_514: +// rs1_val == 166153499473114484112975882535043072, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 198*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 198*XLEN/8); + +inst_515: +// rs1_val == 332306998946228968225951765070086144, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 200*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 200*XLEN/8); + +inst_516: +// rs1_val == 664613997892457936451903530140172288, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 202*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 202*XLEN/8); + +inst_517: +// rs1_val == 1329227995784915872903807060280344576, +// opcode: amocas.q ; dest(x28, x29) addr:x31; src:(x26, x27); swap_val:(0x00000000fffffffe, 0x00000000ffffffff), swreg:x1, 204*XLEN/8 +TEST_DCAS_OP(amocas.q, x28, x29, x31, x26, x27, 0x00000000fffffffe, 0x00000000ffffffff, x1, 204*XLEN/8); +#endif + + +RVTEST_CODE_END +RVMODEL_HALT + +RVTEST_DATA_BEGIN +.align 4 +rvtest_data: +.word 0xbabecafe +.word 0xabecafeb +.word 0xbecafeba +.word 0xecafebab +RVTEST_DATA_END + +RVMODEL_DATA_BEGIN +rvtest_sig_begin: +sig_begin_canary: +CANARY; + + + +signature_x1_0: + .fill 0*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_1: + .fill 22*((XLEN/8)/4),4,0xdeadbeef + + +signature_x21_0: + .fill 40*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_2: + .fill 256*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_3: + .fill 256*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_4: + .fill 256*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_5: + .fill 206*((XLEN/8)/4),4,0xdeadbeef + +#ifdef rvtest_mtrap_routine +tsig_begin_canary: +CANARY; + +mtrap_sigptr: + .fill 64*XLEN/32,4,0xdeadbeef + +tsig_end_canary: +CANARY; +#endif + +#ifdef rvtest_gpr_save + +gpr_save: + .fill 32*XLEN/32,4,0xdeadbeef + +#endif + + +sig_end_canary: +CANARY; +rvtest_sig_end: +RVMODEL_DATA_END diff --git a/riscv-test-suite/rv64i_m/Zacas/src/amocas.w-01.S b/riscv-test-suite/rv64i_m/Zacas/src/amocas.w-01.S new file mode 100644 index 000000000..21433c473 --- /dev/null +++ b/riscv-test-suite/rv64i_m/Zacas/src/amocas.w-01.S @@ -0,0 +1,1411 @@ + +// ----------- +// This file was generated by riscv_ctg (https://github.com/riscv-software-src/riscv-ctg) +// version : 0.11.0 +// timestamp : Fri Jul 28 01:07:22 2023 GMT +// usage : riscv_ctg \ +// -- cgf // --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/dataset.cgf \ +// --cgf /home/ved/rvi-code-forks/riscv-ctg/sample_cgfs/rv64zacas.cgf \ + \ +// -- xlen 64 \ +// ----------- +// +// ----------- +// Copyright (c) 2020. RISC-V International. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// ----------- +// +// This assembly file tests the amocas.w instruction of the RISC-V RV64Zacas extension for the amocas.w covergroup. +// +#include "model_test.h" +#include "arch_test.h" +RVTEST_ISA("RV64IZacas") + +.section .text.init +.globl rvtest_entry_point +rvtest_entry_point: +RVMODEL_BOOT +RVTEST_CODE_BEGIN + +#ifdef TEST_CASE_1 + +RVTEST_CASE(0,"//check ISA:=regex(.*Zacas.*);def TEST_CASE_1=True;",amocas.w) + +RVTEST_SIGBASE(x1,signature_x1_1) + +inst_0: +// rs1 != rs2 and rs1 != rd and rs2 != rd, rs1==x31, rs2==x29, rd==x30, rs1_val == (-2**(xlen-1)), rs1_val == -9223372036854775808 +// opcode: amocas.w ; dest:x30; addr:x31; src:x29; swap_val:-0x1; swreg:x1; 0*XLEN/8 +TEST_CAS_OP(amocas.w, x30, x31, x29, -0x1, x1, 0*XLEN/8); + +inst_1: +// rs1==x30, rs2==x31, rd==x29, rs1_val == (2**(xlen-1)-1), rs1_val == 9223372036854775807 +// opcode: amocas.w ; dest:x29; addr:x30; src:x31; swap_val:-0x1; swreg:x1; 1*XLEN/8 +TEST_CAS_OP(amocas.w, x29, x30, x31, -0x1, x1, 1*XLEN/8); + +inst_2: +// rs1==x29, rs2==x30, rd==x31, rs1_val == 0, +// opcode: amocas.w ; dest:x31; addr:x29; src:x30; swap_val:-0x1; swreg:x1; 2*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x29, x30, -0x1, x1, 2*XLEN/8); + +inst_3: +// rs1==x28, rs2==x26, rd==x27, rs1_val == 1, +// opcode: amocas.w ; dest:x27; addr:x28; src:x26; swap_val:-0x1; swreg:x1; 3*XLEN/8 +TEST_CAS_OP(amocas.w, x27, x28, x26, -0x1, x1, 3*XLEN/8); + +inst_4: +// rs1==x27, rs2==x28, rd==x26, rs2_val == (-2**(xlen-1)), rs2_val == -9223372036854775808 +// opcode: amocas.w ; dest:x26; addr:x27; src:x28; swap_val:-0x8000000000000000; swreg:x1; 4*XLEN/8 +TEST_CAS_OP(amocas.w, x26, x27, x28, -0x8000000000000000, x1, 4*XLEN/8); + +inst_5: +// rs1==x26, rs2==x27, rd==x28, rs2_val == (2**(xlen-1)-1), rs2_val == 9223372036854775807 +// opcode: amocas.w ; dest:x28; addr:x26; src:x27; swap_val:0x7fffffffffffffff; swreg:x1; 5*XLEN/8 +TEST_CAS_OP(amocas.w, x28, x26, x27, 0x7fffffffffffffff, x1, 5*XLEN/8); + +inst_6: +// rs1==x25, rs2==x23, rd==x24, rs2_val == 0, +// opcode: amocas.w ; dest:x24; addr:x25; src:x23; swap_val:0x0; swreg:x1; 6*XLEN/8 +TEST_CAS_OP(amocas.w, x24, x25, x23, 0x0, x1, 6*XLEN/8); + +inst_7: +// rs1==x24, rs2==x25, rd==x23, rs2_val == -2, +// opcode: amocas.w ; dest:x23; addr:x24; src:x25; swap_val:-0x2; swreg:x1; 7*XLEN/8 +TEST_CAS_OP(amocas.w, x23, x24, x25, -0x2, x1, 7*XLEN/8); + +inst_8: +// rs1==x23, rs2==x24, rd==x25, rs2_val == -3, +// opcode: amocas.w ; dest:x25; addr:x23; src:x24; swap_val:-0x3; swreg:x1; 8*XLEN/8 +TEST_CAS_OP(amocas.w, x25, x23, x24, -0x3, x1, 8*XLEN/8); + +inst_9: +// rs1==x22, rs2==x20, rd==x21, rs2_val == -5, +// opcode: amocas.w ; dest:x21; addr:x22; src:x20; swap_val:-0x5; swreg:x1; 9*XLEN/8 +TEST_CAS_OP(amocas.w, x21, x22, x20, -0x5, x1, 9*XLEN/8); + +inst_10: +// rs1==x21, rs2==x22, rd==x20, rs2_val == -9, +// opcode: amocas.w ; dest:x20; addr:x21; src:x22; swap_val:-0x9; swreg:x1; 10*XLEN/8 +TEST_CAS_OP(amocas.w, x20, x21, x22, -0x9, x1, 10*XLEN/8); + +inst_11: +// rs1==x20, rs2==x21, rd==x22, rs2_val == -17, +// opcode: amocas.w ; dest:x22; addr:x20; src:x21; swap_val:-0x11; swreg:x1; 11*XLEN/8 +TEST_CAS_OP(amocas.w, x22, x20, x21, -0x11, x1, 11*XLEN/8); + +inst_12: +// rs1==x19, rs2==x17, rd==x18, rs2_val == -33, +// opcode: amocas.w ; dest:x18; addr:x19; src:x17; swap_val:-0x21; swreg:x1; 12*XLEN/8 +TEST_CAS_OP(amocas.w, x18, x19, x17, -0x21, x1, 12*XLEN/8); + +inst_13: +// rs1==x18, rs2==x19, rd==x17, rs2_val == -65, +// opcode: amocas.w ; dest:x17; addr:x18; src:x19; swap_val:-0x41; swreg:x1; 13*XLEN/8 +TEST_CAS_OP(amocas.w, x17, x18, x19, -0x41, x1, 13*XLEN/8); + +inst_14: +// rs1==x17, rs2==x18, rd==x19, rs2_val == -129, +// opcode: amocas.w ; dest:x19; addr:x17; src:x18; swap_val:-0x81; swreg:x1; 14*XLEN/8 +TEST_CAS_OP(amocas.w, x19, x17, x18, -0x81, x1, 14*XLEN/8); + +inst_15: +// rs1==x16, rs2==x14, rd==x15, rs2_val == -257, +// opcode: amocas.w ; dest:x15; addr:x16; src:x14; swap_val:-0x101; swreg:x1; 15*XLEN/8 +TEST_CAS_OP(amocas.w, x15, x16, x14, -0x101, x1, 15*XLEN/8); + +inst_16: +// rs1==x15, rs2==x16, rd==x14, rs2_val == -513, +// opcode: amocas.w ; dest:x14; addr:x15; src:x16; swap_val:-0x201; swreg:x1; 16*XLEN/8 +TEST_CAS_OP(amocas.w, x14, x15, x16, -0x201, x1, 16*XLEN/8); + +inst_17: +// rs1==x14, rs2==x15, rd==x16, rs2_val == -1025, +// opcode: amocas.w ; dest:x16; addr:x14; src:x15; swap_val:-0x401; swreg:x1; 17*XLEN/8 +TEST_CAS_OP(amocas.w, x16, x14, x15, -0x401, x1, 17*XLEN/8); + +inst_18: +// rs1==x13, rs2==x11, rd==x12, rs2_val == -2049, +// opcode: amocas.w ; dest:x12; addr:x13; src:x11; swap_val:-0x801; swreg:x1; 18*XLEN/8 +TEST_CAS_OP(amocas.w, x12, x13, x11, -0x801, x1, 18*XLEN/8); + +inst_19: +// rs1==x12, rs2==x13, rd==x11, rs2_val == -4097, +// opcode: amocas.w ; dest:x11; addr:x12; src:x13; swap_val:-0x1001; swreg:x1; 19*XLEN/8 +TEST_CAS_OP(amocas.w, x11, x12, x13, -0x1001, x1, 19*XLEN/8); + +inst_20: +// rs1==x11, rs2==x12, rd==x13, rs2_val == -8193, +// opcode: amocas.w ; dest:x13; addr:x11; src:x12; swap_val:-0x2001; swreg:x1; 20*XLEN/8 +TEST_CAS_OP(amocas.w, x13, x11, x12, -0x2001, x1, 20*XLEN/8); + +inst_21: +// rs1==x10, rs2==x8, rd==x9, rs2_val == -16385, +// opcode: amocas.w ; dest:x9; addr:x10; src:x8; swap_val:-0x4001; swreg:x1; 21*XLEN/8 +TEST_CAS_OP(amocas.w, x9, x10, x8, -0x4001, x1, 21*XLEN/8); + +inst_22: +// rs1==x9, rs2==x10, rd==x8, rs2_val == -32769, +// opcode: amocas.w ; dest:x8; addr:x9; src:x10; swap_val:-0x8001; swreg:x1; 22*XLEN/8 +TEST_CAS_OP(amocas.w, x8, x9, x10, -0x8001, x1, 22*XLEN/8); + +inst_23: +// rs1==x8, rs2==x9, rd==x10, rs2_val == -65537, +// opcode: amocas.w ; dest:x10; addr:x8; src:x9; swap_val:-0x10001; swreg:x1; 23*XLEN/8 +TEST_CAS_OP(amocas.w, x10, x8, x9, -0x10001, x1, 23*XLEN/8); + +inst_24: +// rs1==x7, rs2==x5, rd==x6, rs2_val == -131073, +// opcode: amocas.w ; dest:x6; addr:x7; src:x5; swap_val:-0x20001; swreg:x1; 24*XLEN/8 +TEST_CAS_OP(amocas.w, x6, x7, x5, -0x20001, x1, 24*XLEN/8); +RVTEST_SIGBASE(x8,signature_x8_0) + +inst_25: +// rs1==x6, rs2==x7, rd==x5, rs2_val == -262145, +// opcode: amocas.w ; dest:x5; addr:x6; src:x7; swap_val:-0x40001; swreg:x8; 0*XLEN/8 +TEST_CAS_OP(amocas.w, x5, x6, x7, -0x40001, x8, 0*XLEN/8); + +inst_26: +// rs1==x5, rs2==x6, rd==x7, rs2_val == -524289, +// opcode: amocas.w ; dest:x7; addr:x5; src:x6; swap_val:-0x80001; swreg:x8; 1*XLEN/8 +TEST_CAS_OP(amocas.w, x7, x5, x6, -0x80001, x8, 1*XLEN/8); + +inst_27: +// rs1==x4, rs2==x2, rd==x3, rs2_val == -1048577, +// opcode: amocas.w ; dest:x3; addr:x4; src:x2; swap_val:-0x100001; swreg:x8; 2*XLEN/8 +TEST_CAS_OP(amocas.w, x3, x4, x2, -0x100001, x8, 2*XLEN/8); + +inst_28: +// rs1==x3, rs2==x4, rd==x2, rs2_val == -2097153, +// opcode: amocas.w ; dest:x2; addr:x3; src:x4; swap_val:-0x200001; swreg:x8; 3*XLEN/8 +TEST_CAS_OP(amocas.w, x2, x3, x4, -0x200001, x8, 3*XLEN/8); + +inst_29: +// rs1==x2, rs2==x3, rd==x4, rs2_val == -4194305, +// opcode: amocas.w ; dest:x4; addr:x2; src:x3; swap_val:-0x400001; swreg:x8; 4*XLEN/8 +TEST_CAS_OP(amocas.w, x4, x2, x3, -0x400001, x8, 4*XLEN/8); + +inst_30: +// rs1==x1, rs2_val == -8388609, +// opcode: amocas.w ; dest:x31; addr:x1; src:x30; swap_val:-0x800001; swreg:x8; 5*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x1, x30, -0x800001, x8, 5*XLEN/8); + +inst_31: +// rs2==x1, rs2_val == -16777217, +// opcode: amocas.w ; dest:x30; addr:x31; src:x1; swap_val:-0x1000001; swreg:x8; 6*XLEN/8 +TEST_CAS_OP(amocas.w, x30, x31, x1, -0x1000001, x8, 6*XLEN/8); + +inst_32: +// rs2==x0, rs2_val == -33554433, +// opcode: amocas.w ; dest:x31; addr:x30; src:x0; swap_val:0x0; swreg:x8; 7*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x0, 0x0, x8, 7*XLEN/8); + +inst_33: +// rd==x1, rs2_val == -67108865, +// opcode: amocas.w ; dest:x1; addr:x31; src:x30; swap_val:-0x4000001; swreg:x8; 8*XLEN/8 +TEST_CAS_OP(amocas.w, x1, x31, x30, -0x4000001, x8, 8*XLEN/8); + +inst_34: +// rd==x0, rs2_val == -134217729, +// opcode: amocas.w ; dest:x0; addr:x31; src:x30; swap_val:-0x8000001; swreg:x8; 9*XLEN/8 +TEST_CAS_OP(amocas.w, x0, x31, x30, -0x8000001, x8, 9*XLEN/8); + +inst_35: +// rs2_val == -268435457, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x10000001; swreg:x8; 10*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x10000001, x8, 10*XLEN/8); + +inst_36: +// rs2_val == -536870913, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x20000001; swreg:x8; 11*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x20000001, x8, 11*XLEN/8); + +inst_37: +// rs2_val == -1073741825, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x40000001; swreg:x8; 12*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x40000001, x8, 12*XLEN/8); + +inst_38: +// rs2_val == -2147483649, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x80000001; swreg:x8; 13*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x80000001, x8, 13*XLEN/8); + +inst_39: +// rs2_val == -4294967297, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x100000001; swreg:x8; 14*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x100000001, x8, 14*XLEN/8); + +inst_40: +// rs2_val == -8589934593, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x200000001; swreg:x8; 15*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x200000001, x8, 15*XLEN/8); + +inst_41: +// rs2_val == -17179869185, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x400000001; swreg:x8; 16*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x400000001, x8, 16*XLEN/8); + +inst_42: +// rs2_val == -34359738369, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x800000001; swreg:x8; 17*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x800000001, x8, 17*XLEN/8); + +inst_43: +// rs2_val == -68719476737, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000000001; swreg:x8; 18*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000000001, x8, 18*XLEN/8); + +inst_44: +// rs2_val == -137438953473, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x2000000001; swreg:x8; 19*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x2000000001, x8, 19*XLEN/8); + +inst_45: +// rs2_val == -274877906945, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x4000000001; swreg:x8; 20*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x4000000001, x8, 20*XLEN/8); + +inst_46: +// rs2_val == -549755813889, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x8000000001; swreg:x8; 21*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x8000000001, x8, 21*XLEN/8); + +inst_47: +// rs2_val == -1099511627777, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x10000000001; swreg:x8; 22*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x10000000001, x8, 22*XLEN/8); + +inst_48: +// rs2_val == -2199023255553, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x20000000001; swreg:x8; 23*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x20000000001, x8, 23*XLEN/8); + +inst_49: +// rs2_val == -4398046511105, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x40000000001; swreg:x8; 24*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x40000000001, x8, 24*XLEN/8); + +inst_50: +// rs2_val == -8796093022209, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x80000000001; swreg:x8; 25*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x80000000001, x8, 25*XLEN/8); + +inst_51: +// rs2_val == -17592186044417, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x100000000001; swreg:x8; 26*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x100000000001, x8, 26*XLEN/8); + +inst_52: +// rs2_val == -35184372088833, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x200000000001; swreg:x8; 27*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x200000000001, x8, 27*XLEN/8); + +inst_53: +// rs2_val == -70368744177665, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x400000000001; swreg:x8; 28*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x400000000001, x8, 28*XLEN/8); + +inst_54: +// rs2_val == -140737488355329, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x800000000001; swreg:x8; 29*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x800000000001, x8, 29*XLEN/8); + +inst_55: +// rs2_val == -281474976710657, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000000000001; swreg:x8; 30*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000000000001, x8, 30*XLEN/8); + +inst_56: +// rs2_val == -562949953421313, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x2000000000001; swreg:x8; 31*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x2000000000001, x8, 31*XLEN/8); + +inst_57: +// rs2_val == -1125899906842625, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x4000000000001; swreg:x8; 32*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x4000000000001, x8, 32*XLEN/8); + +inst_58: +// rs2_val == -2251799813685249, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x8000000000001; swreg:x8; 33*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x8000000000001, x8, 33*XLEN/8); + +inst_59: +// rs2_val == -4503599627370497, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x10000000000001; swreg:x8; 34*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x10000000000001, x8, 34*XLEN/8); + +inst_60: +// rs2_val == -9007199254740993, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x20000000000001; swreg:x8; 35*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x20000000000001, x8, 35*XLEN/8); + +inst_61: +// rs2_val == -18014398509481985, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x40000000000001; swreg:x8; 36*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x40000000000001, x8, 36*XLEN/8); + +inst_62: +// rs2_val == -36028797018963969, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x80000000000001; swreg:x8; 37*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x80000000000001, x8, 37*XLEN/8); + +inst_63: +// rs2_val == -72057594037927937, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x100000000000001; swreg:x8; 38*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x100000000000001, x8, 38*XLEN/8); + +inst_64: +// rs2_val == -144115188075855873, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x200000000000001; swreg:x8; 39*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x200000000000001, x8, 39*XLEN/8); + +inst_65: +// rs2_val == -288230376151711745, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x400000000000001; swreg:x8; 40*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x400000000000001, x8, 40*XLEN/8); + +inst_66: +// rs2_val == -576460752303423489, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x800000000000001; swreg:x8; 41*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x800000000000001, x8, 41*XLEN/8); + +inst_67: +// rs2_val == -1152921504606846977, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1000000000000001; swreg:x8; 42*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1000000000000001, x8, 42*XLEN/8); + +inst_68: +// rs2_val == -2305843009213693953, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x2000000000000001; swreg:x8; 43*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x2000000000000001, x8, 43*XLEN/8); + +inst_69: +// rs2_val == -4611686018427387905, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x4000000000000001; swreg:x8; 44*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x4000000000000001, x8, 44*XLEN/8); + +inst_70: +// rs1_val == -2, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 45*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 45*XLEN/8); + +inst_71: +// rs1_val == -3, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 46*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 46*XLEN/8); + +inst_72: +// rs1_val == -5, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 47*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 47*XLEN/8); + +inst_73: +// rs1_val == -9, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 48*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 48*XLEN/8); + +inst_74: +// rs1_val == -17, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 49*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 49*XLEN/8); + +inst_75: +// rs1_val == -33, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 50*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 50*XLEN/8); + +inst_76: +// rs1_val == -65, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 51*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 51*XLEN/8); + +inst_77: +// rs1_val == -129, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 52*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 52*XLEN/8); + +inst_78: +// rs1_val == -257, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 53*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 53*XLEN/8); + +inst_79: +// rs1_val == -513, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 54*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 54*XLEN/8); + +inst_80: +// rs1_val == -1025, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 55*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 55*XLEN/8); + +inst_81: +// rs1_val == -2049, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 56*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 56*XLEN/8); + +inst_82: +// rs1_val == -4097, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 57*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 57*XLEN/8); + +inst_83: +// rs1_val == -8193, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 58*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 58*XLEN/8); + +inst_84: +// rs1_val == -16385, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 59*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 59*XLEN/8); + +inst_85: +// rs1_val == -32769, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 60*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 60*XLEN/8); + +inst_86: +// rs1_val == -65537, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 61*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 61*XLEN/8); + +inst_87: +// rs1_val == -131073, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 62*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 62*XLEN/8); + +inst_88: +// rs1_val == -262145, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 63*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 63*XLEN/8); + +inst_89: +// rs1_val == -524289, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 64*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 64*XLEN/8); + +inst_90: +// rs1_val == -1048577, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 65*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 65*XLEN/8); + +inst_91: +// rs1_val == -2097153, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 66*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 66*XLEN/8); + +inst_92: +// rs1_val == -4194305, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 67*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 67*XLEN/8); + +inst_93: +// rs1_val == -8388609, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 68*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 68*XLEN/8); + +inst_94: +// rs1_val == -16777217, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 69*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 69*XLEN/8); + +inst_95: +// rs1_val == -33554433, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 70*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 70*XLEN/8); + +inst_96: +// rs1_val == -67108865, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 71*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 71*XLEN/8); + +inst_97: +// rs1_val == -134217729, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 72*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 72*XLEN/8); + +inst_98: +// rs1_val == -268435457, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 73*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 73*XLEN/8); + +inst_99: +// rs1_val == -536870913, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 74*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 74*XLEN/8); + +inst_100: +// rs1_val == -1073741825, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 75*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 75*XLEN/8); + +inst_101: +// rs1_val == -2147483649, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 76*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 76*XLEN/8); + +inst_102: +// rs1_val == -4294967297, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 77*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 77*XLEN/8); + +inst_103: +// rs1_val == -8589934593, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 78*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 78*XLEN/8); + +inst_104: +// rs1_val == -17179869185, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 79*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 79*XLEN/8); + +inst_105: +// rs1_val == -34359738369, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 80*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 80*XLEN/8); + +inst_106: +// rs1_val == -68719476737, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 81*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 81*XLEN/8); + +inst_107: +// rs1_val == -137438953473, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 82*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 82*XLEN/8); + +inst_108: +// rs1_val == -274877906945, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 83*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 83*XLEN/8); + +inst_109: +// rs1_val == -549755813889, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 84*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 84*XLEN/8); + +inst_110: +// rs1_val == -1099511627777, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 85*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 85*XLEN/8); + +inst_111: +// rs1_val == -2199023255553, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 86*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 86*XLEN/8); + +inst_112: +// rs1_val == -4398046511105, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 87*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 87*XLEN/8); + +inst_113: +// rs1_val == -8796093022209, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 88*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 88*XLEN/8); + +inst_114: +// rs1_val == -17592186044417, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 89*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 89*XLEN/8); + +inst_115: +// rs1_val == -35184372088833, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 90*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 90*XLEN/8); + +inst_116: +// rs1_val == -70368744177665, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 91*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 91*XLEN/8); + +inst_117: +// rs1_val == -140737488355329, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 92*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 92*XLEN/8); + +inst_118: +// rs1_val == -281474976710657, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 93*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 93*XLEN/8); + +inst_119: +// rs1_val == -562949953421313, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 94*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 94*XLEN/8); + +inst_120: +// rs1_val == -1125899906842625, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 95*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 95*XLEN/8); + +inst_121: +// rs1_val == -2251799813685249, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 96*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 96*XLEN/8); + +inst_122: +// rs1_val == -4503599627370497, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 97*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 97*XLEN/8); + +inst_123: +// rs1_val == -9007199254740993, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 98*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 98*XLEN/8); + +inst_124: +// rs1_val == -18014398509481985, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 99*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 99*XLEN/8); + +inst_125: +// rs1_val == -36028797018963969, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 100*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 100*XLEN/8); + +inst_126: +// rs1_val == -72057594037927937, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 101*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 101*XLEN/8); + +inst_127: +// rs1_val == -144115188075855873, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 102*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 102*XLEN/8); + +inst_128: +// rs1_val == -288230376151711745, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 103*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 103*XLEN/8); + +inst_129: +// rs1_val == -576460752303423489, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 104*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 104*XLEN/8); + +inst_130: +// rs1_val == -1152921504606846977, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 105*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 105*XLEN/8); + +inst_131: +// rs1_val == -2305843009213693953, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 106*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 106*XLEN/8); + +inst_132: +// rs1_val == -4611686018427387905, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 107*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 107*XLEN/8); + +inst_133: +// rs2_val == 1, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1; swreg:x8; 108*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1, x8, 108*XLEN/8); + +inst_134: +// rs2_val == 2, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2; swreg:x8; 109*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2, x8, 109*XLEN/8); + +inst_135: +// rs1_val == 144115188075855872, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 110*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 110*XLEN/8); + +inst_136: +// rs1_val == 288230376151711744, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 111*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 111*XLEN/8); + +inst_137: +// rs1_val == 576460752303423488, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 112*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 112*XLEN/8); + +inst_138: +// rs1_val == 1152921504606846976, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 113*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 113*XLEN/8); + +inst_139: +// rs1_val == 2305843009213693952, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 114*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 114*XLEN/8); + +inst_140: +// rs1_val == 4611686018427387904, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 115*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 115*XLEN/8); + +inst_141: +// rs2_val == -6148914691236517206, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x5555555555555556; swreg:x8; 116*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x5555555555555556, x8, 116*XLEN/8); + +inst_142: +// rs1_val == 6148914691236517205, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 117*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 117*XLEN/8); + +inst_143: +// rs1_val == -6148914691236517206, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 118*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 118*XLEN/8); + +inst_144: +// rs2_val == 4, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4; swreg:x8; 119*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4, x8, 119*XLEN/8); + +inst_145: +// rs2_val == 8, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8; swreg:x8; 120*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8, x8, 120*XLEN/8); + +inst_146: +// rs2_val == 16, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10; swreg:x8; 121*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10, x8, 121*XLEN/8); + +inst_147: +// rs2_val == 32, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20; swreg:x8; 122*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20, x8, 122*XLEN/8); + +inst_148: +// rs2_val == 64, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40; swreg:x8; 123*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40, x8, 123*XLEN/8); + +inst_149: +// rs2_val == 128, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x80; swreg:x8; 124*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x80, x8, 124*XLEN/8); + +inst_150: +// rs2_val == 256, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x100; swreg:x8; 125*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x100, x8, 125*XLEN/8); + +inst_151: +// rs2_val == 512, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x200; swreg:x8; 126*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x200, x8, 126*XLEN/8); + +inst_152: +// rs2_val == 1024, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x400; swreg:x8; 127*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x400, x8, 127*XLEN/8); + +inst_153: +// rs2_val == 2048, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x800; swreg:x8; 128*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x800, x8, 128*XLEN/8); + +inst_154: +// rs2_val == 4096, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1000; swreg:x8; 129*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1000, x8, 129*XLEN/8); + +inst_155: +// rs2_val == 8192, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2000; swreg:x8; 130*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2000, x8, 130*XLEN/8); + +inst_156: +// rs2_val == 16384, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4000; swreg:x8; 131*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4000, x8, 131*XLEN/8); + +inst_157: +// rs2_val == 32768, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8000; swreg:x8; 132*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8000, x8, 132*XLEN/8); + +inst_158: +// rs2_val == 65536, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10000; swreg:x8; 133*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10000, x8, 133*XLEN/8); + +inst_159: +// rs2_val == 131072, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20000; swreg:x8; 134*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20000, x8, 134*XLEN/8); + +inst_160: +// rs2_val == 262144, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40000; swreg:x8; 135*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40000, x8, 135*XLEN/8); + +inst_161: +// rs2_val == 524288, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x80000; swreg:x8; 136*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x80000, x8, 136*XLEN/8); + +inst_162: +// rs2_val == 1048576, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x100000; swreg:x8; 137*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x100000, x8, 137*XLEN/8); + +inst_163: +// rs2_val == 2097152, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x200000; swreg:x8; 138*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x200000, x8, 138*XLEN/8); + +inst_164: +// rs2_val == 4194304, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x400000; swreg:x8; 139*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x400000, x8, 139*XLEN/8); + +inst_165: +// rs2_val == 8388608, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x800000; swreg:x8; 140*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x800000, x8, 140*XLEN/8); + +inst_166: +// rs2_val == 16777216, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1000000; swreg:x8; 141*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1000000, x8, 141*XLEN/8); + +inst_167: +// rs2_val == 33554432, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2000000; swreg:x8; 142*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2000000, x8, 142*XLEN/8); + +inst_168: +// rs2_val == 67108864, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4000000; swreg:x8; 143*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4000000, x8, 143*XLEN/8); + +inst_169: +// rs2_val == 134217728, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8000000; swreg:x8; 144*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8000000, x8, 144*XLEN/8); + +inst_170: +// rs2_val == 268435456, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10000000; swreg:x8; 145*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10000000, x8, 145*XLEN/8); + +inst_171: +// rs2_val == 536870912, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20000000; swreg:x8; 146*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20000000, x8, 146*XLEN/8); + +inst_172: +// rs2_val == 1073741824, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40000000; swreg:x8; 147*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40000000, x8, 147*XLEN/8); + +inst_173: +// rs2_val == 2147483648, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x80000000; swreg:x8; 148*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x80000000, x8, 148*XLEN/8); + +inst_174: +// rs2_val == 4294967296, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x100000000; swreg:x8; 149*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x100000000, x8, 149*XLEN/8); + +inst_175: +// rs2_val == 8589934592, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x200000000; swreg:x8; 150*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x200000000, x8, 150*XLEN/8); + +inst_176: +// rs2_val == 17179869184, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x400000000; swreg:x8; 151*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x400000000, x8, 151*XLEN/8); + +inst_177: +// rs2_val == 34359738368, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x800000000; swreg:x8; 152*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x800000000, x8, 152*XLEN/8); + +inst_178: +// rs2_val == 68719476736, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1000000000; swreg:x8; 153*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1000000000, x8, 153*XLEN/8); + +inst_179: +// rs2_val == 137438953472, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2000000000; swreg:x8; 154*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2000000000, x8, 154*XLEN/8); + +inst_180: +// rs2_val == 274877906944, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4000000000; swreg:x8; 155*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4000000000, x8, 155*XLEN/8); + +inst_181: +// rs2_val == 549755813888, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8000000000; swreg:x8; 156*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8000000000, x8, 156*XLEN/8); + +inst_182: +// rs2_val == 1099511627776, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10000000000; swreg:x8; 157*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10000000000, x8, 157*XLEN/8); + +inst_183: +// rs2_val == 2199023255552, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20000000000; swreg:x8; 158*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20000000000, x8, 158*XLEN/8); + +inst_184: +// rs2_val == 4398046511104, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40000000000; swreg:x8; 159*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40000000000, x8, 159*XLEN/8); + +inst_185: +// rs2_val == 8796093022208, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x80000000000; swreg:x8; 160*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x80000000000, x8, 160*XLEN/8); + +inst_186: +// rs2_val == 17592186044416, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x100000000000; swreg:x8; 161*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x100000000000, x8, 161*XLEN/8); + +inst_187: +// rs2_val == 35184372088832, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x200000000000; swreg:x8; 162*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x200000000000, x8, 162*XLEN/8); + +inst_188: +// rs2_val == 70368744177664, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x400000000000; swreg:x8; 163*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x400000000000, x8, 163*XLEN/8); + +inst_189: +// rs2_val == 140737488355328, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x800000000000; swreg:x8; 164*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x800000000000, x8, 164*XLEN/8); + +inst_190: +// rs2_val == 281474976710656, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1000000000000; swreg:x8; 165*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1000000000000, x8, 165*XLEN/8); + +inst_191: +// rs2_val == 562949953421312, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2000000000000; swreg:x8; 166*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2000000000000, x8, 166*XLEN/8); + +inst_192: +// rs2_val == 1125899906842624, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4000000000000; swreg:x8; 167*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4000000000000, x8, 167*XLEN/8); + +inst_193: +// rs2_val == 2251799813685248, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x8000000000000; swreg:x8; 168*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x8000000000000, x8, 168*XLEN/8); + +inst_194: +// rs2_val == 4503599627370496, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x10000000000000; swreg:x8; 169*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x10000000000000, x8, 169*XLEN/8); + +inst_195: +// rs2_val == 9007199254740992, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x20000000000000; swreg:x8; 170*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x20000000000000, x8, 170*XLEN/8); + +inst_196: +// rs2_val == 18014398509481984, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x40000000000000; swreg:x8; 171*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x40000000000000, x8, 171*XLEN/8); + +inst_197: +// rs2_val == 36028797018963968, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x80000000000000; swreg:x8; 172*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x80000000000000, x8, 172*XLEN/8); + +inst_198: +// rs2_val == 72057594037927936, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x100000000000000; swreg:x8; 173*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x100000000000000, x8, 173*XLEN/8); + +inst_199: +// rs2_val == 144115188075855872, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x200000000000000; swreg:x8; 174*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x200000000000000, x8, 174*XLEN/8); + +inst_200: +// rs2_val == 288230376151711744, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x400000000000000; swreg:x8; 175*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x400000000000000, x8, 175*XLEN/8); + +inst_201: +// rs2_val == 576460752303423488, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x800000000000000; swreg:x8; 176*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x800000000000000, x8, 176*XLEN/8); + +inst_202: +// rs2_val == 1152921504606846976, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x1000000000000000; swreg:x8; 177*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x1000000000000000, x8, 177*XLEN/8); + +inst_203: +// rs2_val == 2305843009213693952, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x2000000000000000; swreg:x8; 178*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x2000000000000000, x8, 178*XLEN/8); + +inst_204: +// rs2_val == 4611686018427387904, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x4000000000000000; swreg:x8; 179*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x4000000000000000, x8, 179*XLEN/8); + +inst_205: +// rs2_val == 6148914691236517205, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:0x5555555555555555; swreg:x8; 180*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, 0x5555555555555555, x8, 180*XLEN/8); + +inst_206: +// rs1_val == 2, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 181*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 181*XLEN/8); + +inst_207: +// rs1_val == 4, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 182*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 182*XLEN/8); + +inst_208: +// rs1_val == 8, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 183*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 183*XLEN/8); + +inst_209: +// rs1_val == 16, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 184*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 184*XLEN/8); + +inst_210: +// rs1_val == 32, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 185*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 185*XLEN/8); + +inst_211: +// rs1_val == 64, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 186*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 186*XLEN/8); + +inst_212: +// rs1_val == 128, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 187*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 187*XLEN/8); + +inst_213: +// rs1_val == 256, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 188*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 188*XLEN/8); + +inst_214: +// rs1_val == 512, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 189*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 189*XLEN/8); + +inst_215: +// rs1_val == 1024, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 190*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 190*XLEN/8); + +inst_216: +// rs1_val == 2048, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 191*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 191*XLEN/8); + +inst_217: +// rs1_val == 4096, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 192*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 192*XLEN/8); + +inst_218: +// rs1_val == 8192, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 193*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 193*XLEN/8); + +inst_219: +// rs1_val == 16384, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 194*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 194*XLEN/8); + +inst_220: +// rs1_val == 32768, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 195*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 195*XLEN/8); + +inst_221: +// rs1_val == 65536, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 196*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 196*XLEN/8); + +inst_222: +// rs1_val == 131072, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 197*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 197*XLEN/8); + +inst_223: +// rs1_val == 262144, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 198*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 198*XLEN/8); + +inst_224: +// rs1_val == 524288, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 199*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 199*XLEN/8); + +inst_225: +// rs1_val == 1048576, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 200*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 200*XLEN/8); + +inst_226: +// rs1_val == 2097152, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 201*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 201*XLEN/8); + +inst_227: +// rs1_val == 4194304, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 202*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 202*XLEN/8); + +inst_228: +// rs1_val == 8388608, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 203*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 203*XLEN/8); + +inst_229: +// rs1_val == 16777216, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 204*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 204*XLEN/8); + +inst_230: +// rs1_val == 33554432, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 205*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 205*XLEN/8); + +inst_231: +// rs1_val == 67108864, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 206*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 206*XLEN/8); + +inst_232: +// rs1_val == 134217728, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 207*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 207*XLEN/8); + +inst_233: +// rs1_val == 268435456, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 208*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 208*XLEN/8); + +inst_234: +// rs1_val == 536870912, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 209*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 209*XLEN/8); + +inst_235: +// rs1_val == 1073741824, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 210*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 210*XLEN/8); + +inst_236: +// rs1_val == 2147483648, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 211*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 211*XLEN/8); + +inst_237: +// rs1_val == 4294967296, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 212*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 212*XLEN/8); + +inst_238: +// rs1_val == 8589934592, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 213*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 213*XLEN/8); + +inst_239: +// rs1_val == 17179869184, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 214*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 214*XLEN/8); + +inst_240: +// rs1_val == 34359738368, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 215*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 215*XLEN/8); + +inst_241: +// rs1_val == 68719476736, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 216*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 216*XLEN/8); + +inst_242: +// rs1_val == 137438953472, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 217*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 217*XLEN/8); + +inst_243: +// rs1_val == 274877906944, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 218*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 218*XLEN/8); + +inst_244: +// rs1_val == 549755813888, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 219*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 219*XLEN/8); + +inst_245: +// rs1_val == 1099511627776, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 220*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 220*XLEN/8); + +inst_246: +// rs1_val == 2199023255552, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 221*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 221*XLEN/8); + +inst_247: +// rs1_val == 4398046511104, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 222*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 222*XLEN/8); + +inst_248: +// rs1_val == 8796093022208, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 223*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 223*XLEN/8); + +inst_249: +// rs1_val == 17592186044416, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 224*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 224*XLEN/8); + +inst_250: +// rs1_val == 35184372088832, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 225*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 225*XLEN/8); + +inst_251: +// rs1_val == 70368744177664, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 226*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 226*XLEN/8); + +inst_252: +// rs1_val == 140737488355328, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 227*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 227*XLEN/8); + +inst_253: +// rs1_val == 281474976710656, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 228*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 228*XLEN/8); + +inst_254: +// rs1_val == 562949953421312, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 229*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 229*XLEN/8); + +inst_255: +// rs1_val == 1125899906842624, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 230*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 230*XLEN/8); + +inst_256: +// rs1_val == 2251799813685248, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 231*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 231*XLEN/8); + +inst_257: +// rs1_val == 4503599627370496, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 232*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 232*XLEN/8); + +inst_258: +// rs1_val == 9007199254740992, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 233*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 233*XLEN/8); + +inst_259: +// rs1_val == 18014398509481984, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 234*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 234*XLEN/8); + +inst_260: +// rs1_val == 36028797018963968, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 235*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 235*XLEN/8); + +inst_261: +// rs1_val == 72057594037927936, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x1; swreg:x8; 236*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x1, x8, 236*XLEN/8); + +inst_262: +// rs2_val == -33554433, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x2000001; swreg:x8; 237*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x2000001, x8, 237*XLEN/8); + +inst_263: +// rs2_val == -134217729, +// opcode: amocas.w ; dest:x31; addr:x30; src:x29; swap_val:-0x8000001; swreg:x8; 238*XLEN/8 +TEST_CAS_OP(amocas.w, x31, x30, x29, -0x8000001, x8, 238*XLEN/8); +#endif + + +RVTEST_CODE_END +RVMODEL_HALT + +RVTEST_DATA_BEGIN +.align 4 +rvtest_data: +.word 0xbabecafe +.word 0xabecafeb +.word 0xbecafeba +.word 0xecafebab +RVTEST_DATA_END + +RVMODEL_DATA_BEGIN +rvtest_sig_begin: +sig_begin_canary: +CANARY; + + + +signature_x1_0: + .fill 0*((XLEN/8)/4),4,0xdeadbeef + + +signature_x1_1: + .fill 25*((XLEN/8)/4),4,0xdeadbeef + + +signature_x8_0: + .fill 239*((XLEN/8)/4),4,0xdeadbeef + +#ifdef rvtest_mtrap_routine +tsig_begin_canary: +CANARY; + +mtrap_sigptr: + .fill 64*XLEN/32,4,0xdeadbeef + +tsig_end_canary: +CANARY; +#endif + +#ifdef rvtest_gpr_save + +gpr_save: + .fill 32*XLEN/32,4,0xdeadbeef + +#endif + + +sig_end_canary: +CANARY; +rvtest_sig_end: +RVMODEL_DATA_END From efe750640d0d7acd887e9fa3d7dbcc30c816dbbb Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Fri, 28 Jul 2023 06:54:43 -0500 Subject: [PATCH 4/5] Add support for Zacas ISA extension --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d682b8bb..a4902405a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # CHANGELOG +## [3.7.1] - 2023-07-28 +- Add Zacas ISA extension support. + ## [3.7.0] - 2023-05-16 - Updated the LI macro - Make Trap handler compatible for RV32E From c9d9a3f1ba7671d0d7ac80e9b12b374669353b13 Mon Sep 17 00:00:00 2001 From: Umer Shahid Date: Tue, 7 May 2024 16:51:11 +0500 Subject: [PATCH 5/5] Update CHANGELOG.md Updated Changelog file to resolve conflict Signed-off-by: Umer Shahid --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b15047d2e..76b6cc76b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # CHANGELOG - +## [3.8.18] - 2023-07-28 +- Add Zacas ISA extension support. ## [3.8.17] - 2024-05-03 - Add Zfa support.