blob: 6cfaff890e398958328c765366f90e6485871204 [file] [edit]
# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=riscv64 -mcpu=sifive-p670 -iterations=1 -instruction-tables=full %p/../Inputs/atomic.s | FileCheck %s
# CHECK: Resources:
# CHECK-NEXT: [0] - SiFiveP600Branch:2 SiFiveP600IEXQ2, SiFiveP600IEXQ3
# CHECK-NEXT: [1] - SiFiveP600Div:1
# CHECK-NEXT: [2] - SiFiveP600FEXQ0:1
# CHECK-NEXT: [3] - SiFiveP600FEXQ1:1
# CHECK-NEXT: [4] - SiFiveP600FloatArith:2 SiFiveP600FEXQ0, SiFiveP600FEXQ1
# CHECK-NEXT: [5] - SiFiveP600FloatDiv:1
# CHECK-NEXT: [6] - SiFiveP600IEXQ0:1
# CHECK-NEXT: [7] - SiFiveP600IEXQ1:1
# CHECK-NEXT: [8] - SiFiveP600IEXQ2:1
# CHECK-NEXT: [9] - SiFiveP600IEXQ3:1
# CHECK-NEXT: [10] - SiFiveP600IntArith:4 SiFiveP600IEXQ0, SiFiveP600IEXQ1, SiFiveP600IEXQ2, SiFiveP600IEXQ3
# CHECK-NEXT: [11] - SiFiveP600LDST:2
# CHECK-NEXT: [12] - SiFiveP600VDiv:1
# CHECK-NEXT: [13] - SiFiveP600VEXQ0:1
# CHECK-NEXT: [14] - SiFiveP600VEXQ1:1
# CHECK-NEXT: [15] - SiFiveP600VFloatDiv:1
# CHECK-NEXT: [16] - SiFiveP600VLD:1
# CHECK-NEXT: [17] - SiFiveP600VST:1
# CHECK-NEXT: [18] - SiFiveP600VectorArith:2 SiFiveP600VEXQ0, SiFiveP600VEXQ1
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK-NEXT: [7]: Bypass Latency
# CHECK-NEXT: [8]: Resources (<Name> | <Name>[<ReleaseAtCycle>] | <Name>[<AcquireAtCycle>,<ReleaseAtCycle])
# CHECK-NEXT: [9]: LLVM Opcode Name
# CHECK: [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_W lr.w t0, (t1)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_W_AQ lr.w.aq t1, (t2)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_W_RL lr.w.rl t2, (t3)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_W_AQRL lr.w.aqrl t3, (t4)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_W sc.w t6, t5, (t4)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_W_AQ sc.w.aq t5, t4, (t3)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_W_RL sc.w.rl t4, t3, (t2)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_W_AQRL sc.w.aqrl t3, t2, (t1)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_D lr.d t0, (t1)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_D_AQ lr.d.aq t1, (t2)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_D_RL lr.d.rl t2, (t3)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST LR_D_AQRL lr.d.aqrl t3, (t4)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_D sc.d t6, t5, (t4)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_D_AQ sc.d.aq t5, t4, (t3)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_D_RL sc.d.rl t4, t3, (t2)
# CHECK-NEXT: 1 3 0.50 * 3 SiFiveP600LDST SC_D_AQRL sc.d.aqrl t3, t2, (t1)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_W amoswap.w a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_W amoadd.w a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_W amoxor.w a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_W amoand.w a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_W amoor.w a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_W amomin.w a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_W amomax.w s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_W amominu.w s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_W amomaxu.w s5, s4, (s3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_W_AQ amoswap.w.aq a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_W_AQ amoadd.w.aq a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_W_AQ amoxor.w.aq a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_W_AQ amoand.w.aq a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_W_AQ amoor.w.aq a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_W_AQ amomin.w.aq a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_W_AQ amomax.w.aq s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_W_AQ amominu.w.aq s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_W_AQ amomaxu.w.aq s5, s4, (s3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_W_RL amoswap.w.rl a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_W_RL amoadd.w.rl a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_W_RL amoxor.w.rl a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_W_RL amoand.w.rl a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_W_RL amoor.w.rl a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_W_RL amomin.w.rl a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_W_RL amomax.w.rl s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_W_RL amominu.w.rl s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_W_RL amomaxu.w.rl s5, s4, (s3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_W_AQRL amoswap.w.aqrl a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_W_AQRL amoadd.w.aqrl a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_W_AQRL amoxor.w.aqrl a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_W_AQRL amoand.w.aqrl a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_W_AQRL amoor.w.aqrl a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_W_AQRL amomin.w.aqrl a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_W_AQRL amomax.w.aqrl s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_W_AQRL amominu.w.aqrl s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_W_AQRL amomaxu.w.aqrl s5, s4, (s3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_D amoswap.d a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_D amoadd.d a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_D amoxor.d a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_D amoand.d a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_D amoor.d a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_D amomin.d a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_D amomax.d s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_D amominu.d s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_D amomaxu.d s5, s4, (s3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_D_AQ amoswap.d.aq a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_D_AQ amoadd.d.aq a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_D_AQ amoxor.d.aq a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_D_AQ amoand.d.aq a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_D_AQ amoor.d.aq a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_D_AQ amomin.d.aq a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_D_AQ amomax.d.aq s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_D_AQ amominu.d.aq s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_D_AQ amomaxu.d.aq s5, s4, (s3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_D_RL amoswap.d.rl a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_D_RL amoadd.d.rl a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_D_RL amoxor.d.rl a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_D_RL amoand.d.rl a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_D_RL amoor.d.rl a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_D_RL amomin.d.rl a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_D_RL amomax.d.rl s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_D_RL amominu.d.rl s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_D_RL amomaxu.d.rl s5, s4, (s3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOSWAP_D_AQRL amoswap.d.aqrl a4, ra, (s0)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOADD_D_AQRL amoadd.d.aqrl a1, a2, (a3)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOXOR_D_AQRL amoxor.d.aqrl a2, a3, (a4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOAND_D_AQRL amoand.d.aqrl a3, a4, (a5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOOR_D_AQRL amoor.d.aqrl a4, a5, (a6)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMIN_D_AQRL amomin.d.aqrl a5, a6, (a7)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAX_D_AQRL amomax.d.aqrl s7, s6, (s5)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMINU_D_AQRL amominu.d.aqrl s6, s5, (s4)
# CHECK-NEXT: 1 3 0.50 * * 3 SiFiveP600LDST AMOMAXU_D_AQRL amomaxu.d.aqrl s5, s4, (s3)
# CHECK: Resources:
# CHECK-NEXT: [0] - SiFiveP600Div
# CHECK-NEXT: [1] - SiFiveP600FEXQ0
# CHECK-NEXT: [2] - SiFiveP600FEXQ1
# CHECK-NEXT: [3] - SiFiveP600FloatDiv
# CHECK-NEXT: [4] - SiFiveP600IEXQ0
# CHECK-NEXT: [5] - SiFiveP600IEXQ1
# CHECK-NEXT: [6] - SiFiveP600IEXQ2
# CHECK-NEXT: [7] - SiFiveP600IEXQ3
# CHECK-NEXT: [8.0] - SiFiveP600LDST
# CHECK-NEXT: [8.1] - SiFiveP600LDST
# CHECK-NEXT: [9] - SiFiveP600VDiv
# CHECK-NEXT: [10] - SiFiveP600VEXQ0
# CHECK-NEXT: [11] - SiFiveP600VEXQ1
# CHECK-NEXT: [12] - SiFiveP600VFloatDiv
# CHECK-NEXT: [13] - SiFiveP600VLD
# CHECK-NEXT: [14] - SiFiveP600VST
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8.0] [8.1] [9] [10] [11] [12] [13] [14]
# CHECK-NEXT: - - - - - - - - 44.00 44.00 - - - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8.0] [8.1] [9] [10] [11] [12] [13] [14] Instructions:
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.w t0, (t1)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.w.aq t1, (t2)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.w.rl t2, (t3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.w.aqrl t3, (t4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.w t6, t5, (t4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.w.aq t5, t4, (t3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.w.rl t4, t3, (t2)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.w.aqrl t3, t2, (t1)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.d t0, (t1)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.d.aq t1, (t2)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.d.rl t2, (t3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - lr.d.aqrl t3, (t4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.d t6, t5, (t4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.d.aq t5, t4, (t3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.d.rl t4, t3, (t2)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - sc.d.aqrl t3, t2, (t1)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.w a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.w a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.w a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.w a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.w a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.w a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.w s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.w s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.w s5, s4, (s3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.w.aq a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.w.aq a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.w.aq a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.w.aq a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.w.aq a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.w.aq a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.w.aq s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.w.aq s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.w.aq s5, s4, (s3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.w.rl a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.w.rl a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.w.rl a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.w.rl a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.w.rl a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.w.rl a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.w.rl s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.w.rl s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.w.rl s5, s4, (s3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.w.aqrl a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.w.aqrl a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.w.aqrl a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.w.aqrl a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.w.aqrl a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.w.aqrl a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.w.aqrl s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.w.aqrl s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.w.aqrl s5, s4, (s3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.d a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.d a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.d a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.d a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.d a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.d a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.d s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.d s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.d s5, s4, (s3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.d.aq a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.d.aq a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.d.aq a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.d.aq a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.d.aq a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.d.aq a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.d.aq s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.d.aq s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.d.aq s5, s4, (s3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.d.rl a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.d.rl a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.d.rl a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.d.rl a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.d.rl a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.d.rl a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.d.rl s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.d.rl s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.d.rl s5, s4, (s3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoswap.d.aqrl a4, ra, (s0)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoadd.d.aqrl a1, a2, (a3)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoxor.d.aqrl a2, a3, (a4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoand.d.aqrl a3, a4, (a5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amoor.d.aqrl a4, a5, (a6)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomin.d.aqrl a5, a6, (a7)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomax.d.aqrl s7, s6, (s5)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amominu.d.aqrl s6, s5, (s4)
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - amomaxu.d.aqrl s5, s4, (s3)