From de7d01f7100e987cd354b01ef381f51165ab3dea Mon Sep 17 00:00:00 2001 From: peteraa Date: Wed, 4 Sep 2019 12:01:46 +0200 Subject: [PATCH] Add new forward.s tests with correct shifts. --- src/test/resources/tests/basic/forward1.s | 394 ++++++++++----------- src/test/resources/tests/basic/forward2.s | 402 +++++++++++----------- src/test/scala/TestUtils.scala | 12 +- 3 files changed, 404 insertions(+), 404 deletions(-) diff --git a/src/test/resources/tests/basic/forward1.s b/src/test/resources/tests/basic/forward1.s index 205a781..b6d7d97 100644 --- a/src/test/resources/tests/basic/forward1.s +++ b/src/test/resources/tests/basic/forward1.s @@ -1,204 +1,204 @@ main: - ori gp, gp, 0xFFFFFE09 - and gp, gp, ra - xor ra, ra, sp - sra ra, sp, sp - or sp, ra, ra - xori ra, sp, 0x003D - srli sp, sp, 0xFFFFFFF2 - addi ra, sp, 0x0012 - add ra, gp, sp - ori gp, ra, 0xFFFFFFB8 - sll ra, ra, ra - sll sp, gp, ra - slt ra, gp, ra - srai gp, gp, 0xFFFFFFFB - slli ra, ra, 0x0007 - sub sp, gp, sp - andi ra, gp, 0x002D - sub gp, gp, sp - srai ra, gp, 0x0005 - or sp, ra, sp - xori ra, gp, 0xFFFFFF54 - sll ra, sp, ra - sub gp, gp, sp - add ra, sp, sp - sll ra, gp, ra - add gp, sp, sp - ori gp, sp, 0xFFFFFE68 - srli sp, gp, 0xFFFFFFF1 - sltui ra, ra, 0xFFFFFE5D - srli ra, gp, 0x0006 - srai sp, sp, 0x0005 - andi sp, sp, 0x0129 - and sp, sp, sp - slli gp, ra, 0x0001 - or gp, gp, gp - or sp, gp, gp - slli gp, gp, 0x0006 - srl sp, ra, gp - sltui gp, ra, 0xFFFFFEC3 - add sp, gp, sp - xori ra, ra, 0xFFFFFFA2 - or gp, gp, sp - and sp, gp, gp - srai gp, sp, 0x0008 - add sp, sp, ra - slti sp, ra, 0xFFFFFFF7 - srli gp, ra, 0xFFFFFFFD - sll gp, ra, gp - sltu sp, sp, gp - srli gp, ra, 0x0002 - ori gp, sp, 0xFFFFFF28 - srl ra, gp, ra - slti gp, ra, 0x0054 - or gp, ra, ra - ori sp, gp, 0x01D9 - and sp, ra, ra - addi sp, gp, 0x0054 - slli gp, ra, 0xFFFFFFF2 - ori sp, sp, 0x0093 - add gp, gp, gp + sltiu gp, ra, 0x01AE + srli sp, sp, 0x0005 + addi ra, sp, 0x0177 + srai sp, ra, 0x0003 + sub sp, ra, sp + slli sp, ra, 0x000B + add sp, gp, ra + slli gp, sp, 0x0006 + ori sp, ra, 0xFFFFFF64 and gp, gp, gp - sltui gp, ra, 0x00DE - slli sp, gp, 0x000D - slli sp, ra, 0xFFFFFFF5 - sltui sp, ra, 0xFFFFFF0E - and ra, gp, ra - add gp, sp, sp - slti ra, sp, 0x008C - srli ra, sp, 0x0000 - addi sp, sp, 0x0168 - slli ra, ra, 0xFFFFFFF3 - addi ra, gp, 0x012A - or sp, gp, ra - add ra, sp, gp - and gp, ra, ra - slli ra, gp, 0xFFFFFFF6 - or sp, gp, sp - or gp, ra, ra - ori gp, ra, 0x00EB - or sp, gp, ra - ori gp, sp, 0x01DA - andi ra, ra, 0xFFFFFFE9 - addi gp, sp, 0x00C9 - sltui ra, ra, 0xFFFFFF13 - sltui ra, ra, 0xFFFFFF3A - sltui sp, gp, 0xFFFFFE5A - ori sp, sp, 0xFFFFFFFE - and gp, sp, gp - sltui sp, ra, 0x0034 - srl gp, gp, ra - sll gp, sp, ra - ori ra, gp, 0xFFFFFEB6 - sll ra, sp, ra - sra ra, gp, sp - sub ra, sp, gp - xor gp, gp, sp - sub ra, ra, sp - srl gp, gp, sp - andi ra, ra, 0xFFFFFFCB - ori ra, ra, 0xFFFFFE1B - andi ra, ra, 0xFFFFFEC8 - sltui sp, gp, 0x0108 - sub sp, gp, ra - slti ra, sp, 0x015D - slli sp, sp, 0x0004 - xor gp, sp, ra - srl ra, gp, ra - sltui ra, ra, 0xFFFFFF3C - add sp, sp, sp - add gp, gp, ra - andi sp, sp, 0xFFFFFF3A - srli ra, sp, 0x0004 - ori sp, gp, 0xFFFFFEAB - ori sp, ra, 0xFFFFFE95 - slli sp, sp, 0xFFFFFFF2 - xori gp, sp, 0x0040 - slti gp, sp, 0xFFFFFED1 - or sp, sp, sp - sltui sp, gp, 0x01B4 - addi ra, gp, 0x002D - and sp, gp, gp - or ra, ra, ra - or ra, gp, ra - or ra, gp, ra - sra ra, ra, gp - sra gp, ra, sp - sub ra, sp, ra - srai ra, ra, 0x000F - sltu sp, sp, ra - slli ra, gp, 0xFFFFFFF5 - slti gp, gp, 0x00E0 - addi gp, ra, 0xFFFFFF72 - srl ra, ra, gp - sltui gp, sp, 0xFFFFFEAA - xor sp, ra, gp - and gp, sp, ra - srli gp, gp, 0x0003 - xori ra, ra, 0x01BD - sub ra, gp, sp - sll gp, ra, gp - xori ra, sp, 0x0065 - or ra, sp, ra - slt sp, gp, ra - addi ra, sp, 0xFFFFFE34 - slli gp, sp, 0x0007 - sll ra, sp, gp - sltui gp, gp, 0xFFFFFE62 - slti sp, sp, 0x0019 - xori ra, gp, 0x0092 - sltui gp, sp, 0xFFFFFF29 - srl sp, ra, gp - xori sp, gp, 0xFFFFFF4C - add sp, ra, gp - add sp, gp, ra - sra sp, sp, gp - slli sp, ra, 0x0008 - srl sp, sp, sp - add sp, gp, ra - andi sp, sp, 0x0039 - sll ra, gp, sp - andi gp, ra, 0xFFFFFECC - sll sp, sp, sp - sub sp, sp, ra - srai ra, sp, 0x0008 - xor gp, ra, sp - add sp, sp, sp - sub gp, ra, gp - xori gp, sp, 0x01EE - and ra, ra, ra - ori gp, ra, 0xFFFFFE96 - slli ra, gp, 0x0002 - srli gp, ra, 0x000D - add ra, sp, sp - andi sp, gp, 0xFFFFFEC0 - andi sp, gp, 0xFFFFFE7A - xori ra, sp, 0x0169 - xori gp, sp, 0xFFFFFE02 - andi ra, ra, 0xFFFFFFD1 - xor ra, sp, gp - xori gp, gp, 0x00AB - srl ra, ra, gp - and ra, ra, sp - xori gp, sp, 0x005D - srai sp, sp, 0x000A - addi ra, sp, 0xFFFFFE19 + andi gp, gp, 0x0084 + xori ra, ra, 0xFFFFFEB4 or sp, ra, ra - addi ra, gp, 0x0084 - ori sp, sp, 0xFFFFFF3D - xor gp, ra, gp - sra ra, ra, gp - xori ra, sp, 0x0040 - srai gp, gp, 0x0002 - xori ra, ra, 0xFFFFFE9A - sra ra, sp, sp - ori gp, sp, 0xFFFFFFB8 - sll sp, ra, ra + addi sp, ra, 0x0078 + sltiu sp, sp, 0xFFFFFF1E + srli gp, sp, 0x0000 + slti sp, ra, 0xFFFFFEF7 + srai ra, ra, 0x0001 + or sp, ra, gp + xor sp, sp, ra + sub sp, ra, sp + sub ra, gp, ra + sltiu gp, sp, 0xFFFFFE85 + addi sp, gp, 0x017C + sltiu ra, gp, 0xFFFFFF64 + xori sp, gp, 0x00A1 + xor ra, sp, gp + ori gp, ra, 0x00B6 + add ra, ra, sp + sltiu gp, ra, 0xFFFFFFEC + sltu gp, sp, ra sll sp, ra, gp - sll gp, sp, sp - sra gp, ra, ra - srli gp, gp, 0x0001 + add gp, ra, ra + or gp, ra, gp + xor sp, ra, sp + addi sp, gp, 0xFFFFFF4C + xor ra, sp, gp + xori ra, sp, 0xFFFFFF72 + xori gp, sp, 0xFFFFFE95 + or ra, ra, ra + slti ra, gp, 0xFFFFFE75 + slli sp, sp, 0x0004 + sltiu ra, ra, 0xFFFFFE25 + add sp, ra, gp + sltiu gp, gp, 0xFFFFFFDB + addi sp, sp, 0x003D + sll ra, ra, sp + ori ra, ra, 0x012C + add gp, ra, gp + xori sp, sp, 0x0157 + slti gp, sp, 0xFFFFFF2A + and sp, ra, ra + add gp, ra, ra + sltiu ra, gp, 0xFFFFFE56 + sra gp, gp, ra + xori sp, gp, 0xFFFFFF0D + sub sp, gp, ra + slti ra, ra, 0x0154 + slli ra, ra, 0x000A + ori ra, gp, 0xFFFFFEC2 + ori ra, sp, 0x0075 + addi gp, sp, 0x0079 + xor gp, ra, sp + srli ra, sp, 0x0008 + srai ra, ra, 0x000F + slli gp, gp, 0x0006 + sra sp, gp, gp + add sp, sp, sp + srai ra, sp, 0x0001 + slli gp, ra, 0x0010 + andi ra, ra, 0xFFFFFFA8 + add sp, ra, sp + srai ra, gp, 0x000E + srai ra, sp, 0x0005 + addi ra, gp, 0xFFFFFF83 + xor gp, sp, ra + srai sp, gp, 0x0004 + srli ra, ra, 0x0007 + sll gp, ra, gp + xori gp, gp, 0x0163 + add ra, gp, gp + srli gp, gp, 0x000B + add sp, ra, ra + sltu ra, ra, sp + sll sp, ra, ra + ori sp, sp, 0xFFFFFF6B + slli gp, gp, 0x0006 + xori sp, ra, 0x00A7 + add sp, ra, ra + add ra, gp, gp + addi gp, gp, 0xFFFFFFE9 + sra sp, ra, gp + add gp, ra, ra + ori gp, gp, 0x0002 + addi gp, gp, 0x002F + sll sp, sp, ra + srli sp, ra, 0x000E + ori gp, sp, 0x00EB + sra gp, ra, sp + sra sp, sp, gp + and gp, ra, ra + sra ra, ra, gp + add sp, gp, ra + srl gp, sp, gp + add ra, ra, sp + srai gp, ra, 0x000E + sltu gp, gp, sp + srli sp, ra, 0x0004 + ori gp, sp, 0xFFFFFE6E + and gp, ra, ra + ori gp, ra, 0xFFFFFFAF + srl ra, ra, ra + or sp, ra, ra + ori gp, sp, 0x0018 + and gp, gp, gp + sll gp, sp, gp + srli gp, sp, 0x0006 + add gp, ra, ra + add gp, ra, sp + sra sp, ra, ra + ori sp, ra, 0x0022 + and gp, gp, gp + add ra, sp, ra + sll sp, gp, gp + ori gp, sp, 0x008E + add sp, ra, sp + and sp, gp, gp + addi ra, sp, 0x0145 + and sp, gp, gp + sll gp, ra, sp + addi sp, sp, 0xFFFFFFAF + xori sp, ra, 0xFFFFFE2C + srl gp, ra, gp + sub ra, sp, gp + add sp, ra, ra + slli sp, sp, 0x0006 + sltu gp, sp, ra + sub gp, ra, sp + xori ra, ra, 0xFFFFFF9A + addi sp, sp, 0xFFFFFE12 + slli ra, ra, 0x0003 + slli gp, ra, 0x0004 + add gp, gp, gp + xori ra, ra, 0xFFFFFED7 + andi gp, gp, 0xFFFFFE05 + and gp, gp, sp + addi gp, gp, 0xFFFFFEE5 + slli ra, gp, 0x000A + sll sp, gp, gp + and ra, gp, sp + ori ra, gp, 0xFFFFFE22 + srl sp, sp, gp + srli ra, sp, 0x0005 + slli ra, ra, 0x0005 + srai ra, ra, 0x0007 + srli ra, gp, 0x000F + andi gp, gp, 0xFFFFFF96 + sra sp, gp, gp + srai gp, gp, 0x000F + sub sp, sp, gp + sltiu ra, ra, 0xFFFFFF41 + and sp, sp, sp + xor gp, sp, ra + srai gp, sp, 0x000A + xori gp, gp, 0x00D3 + or gp, sp, sp + sltu gp, ra, gp + slli ra, gp, 0x0002 + or sp, gp, ra + addi ra, ra, 0x002B + addi gp, ra, 0x0035 + slli sp, gp, 0x0008 + addi gp, sp, 0x015E + xor ra, gp, sp + or ra, gp, ra + sll ra, gp, ra + sll gp, gp, ra + srli gp, ra, 0x000C + slt sp, ra, sp + sltiu sp, sp, 0xFFFFFE1C + ori sp, ra, 0xFFFFFE83 + andi sp, sp, 0xFFFFFEFC + addi ra, ra, 0xFFFFFF85 + ori gp, ra, 0x0084 + sll gp, gp, ra + xori gp, sp, 0xFFFFFF6D + sll gp, sp, gp + sra ra, sp, ra + xor ra, gp, sp + srl ra, ra, sp + srl ra, ra, sp + andi gp, ra, 0xFFFFFE7B + srai ra, sp, 0x000F + sub sp, sp, ra + or sp, gp, gp + slt ra, ra, gp + or gp, gp, sp + srli ra, sp, 0x000B + andi ra, gp, 0xFFFFFFD4 + slli ra, gp, 0x0009 done #regset x1, 123 #regset x2, -40 diff --git a/src/test/resources/tests/basic/forward2.s b/src/test/resources/tests/basic/forward2.s index 9b5e973..b49b85b 100644 --- a/src/test/resources/tests/basic/forward2.s +++ b/src/test/resources/tests/basic/forward2.s @@ -1,205 +1,205 @@ main: - sltui gp, ra, 0x01AE - srli sp, sp, 0xFFFFFFFB - addi ra, sp, 0x0177 - sub sp, ra, sp - slli sp, ra, 0x000B - add sp, gp, ra - slli gp, sp, 0x0006 - ori sp, ra, 0xFFFFFF64 - and gp, gp, gp - andi gp, gp, 0x0084 - xori ra, ra, 0xFFFFFEB4 - or sp, ra, ra - addi sp, ra, 0x0078 - srli gp, sp, 0x0000 - srl sp, gp, sp - andi ra, gp, 0xFFFFFFF4 - srai ra, ra, 0xFFFFFFFF - sltu gp, sp, gp - or sp, ra, gp - sub ra, gp, ra - addi sp, gp, 0x017C - sltui ra, gp, 0xFFFFFF64 - xori sp, gp, 0x00A1 - xor ra, sp, gp - ori gp, ra, 0x00B6 - add ra, ra, sp - sltui gp, ra, 0xFFFFFFEC - sltu gp, sp, ra - sll sp, ra, gp - add gp, ra, ra - or gp, ra, gp - xor sp, ra, sp - addi sp, gp, 0xFFFFFF4C - xor ra, sp, gp - xori ra, sp, 0xFFFFFF72 - xori gp, sp, 0xFFFFFE95 - or ra, ra, ra - slti ra, gp, 0xFFFFFE75 - slli sp, sp, 0xFFFFFFFC - sltui ra, ra, 0xFFFFFE25 - add sp, ra, gp - sltui gp, gp, 0xFFFFFFDB - addi sp, sp, 0x003D - sll ra, ra, sp - ori ra, ra, 0x012C - add gp, ra, gp - xori sp, sp, 0x0157 - slti gp, sp, 0xFFFFFF2A - and sp, ra, ra - add gp, ra, ra - sltui ra, gp, 0xFFFFFE56 - sra gp, gp, ra - xori sp, gp, 0xFFFFFF0D - sub sp, gp, ra - slti ra, ra, 0x0154 - slli ra, ra, 0x000A - ori ra, gp, 0xFFFFFEC2 - ori ra, sp, 0x0075 - addi gp, sp, 0x0079 - xor gp, ra, sp - srli ra, sp, 0xFFFFFFF8 - slli gp, gp, 0x0006 - sra sp, gp, gp - add sp, sp, sp - slli gp, ra, 0xFFFFFFF0 - add sp, ra, sp - srai ra, sp, 0x0005 - addi ra, gp, 0xFFFFFF83 - xor gp, sp, ra - srli ra, ra, 0x0007 - sll gp, ra, gp - xori gp, gp, 0x0163 - add ra, gp, gp - add sp, ra, ra - sltu ra, ra, sp - sll sp, ra, ra - ori sp, sp, 0xFFFFFF6B - slli gp, gp, 0xFFFFFFFA - xori sp, ra, 0x00A7 - add sp, ra, ra - add ra, gp, gp - addi gp, gp, 0xFFFFFFE9 - sra sp, ra, gp - add gp, ra, ra - ori gp, gp, 0x0002 - addi gp, gp, 0x002F - sll sp, sp, ra - srli sp, ra, 0xFFFFFFF2 - ori gp, sp, 0x00EB - sra gp, ra, sp - sra sp, sp, gp - and gp, ra, ra - sra ra, ra, gp - add sp, gp, ra - srl gp, sp, gp - add ra, ra, sp - srai gp, ra, 0xFFFFFFF2 - srli sp, ra, 0xFFFFFFFC - ori gp, sp, 0xFFFFFE6E - and gp, ra, ra - ori gp, ra, 0xFFFFFFAF - srl ra, ra, ra - or sp, ra, ra - ori gp, sp, 0x0018 - and gp, gp, gp - slti gp, ra, 0x00C6 - sll gp, sp, gp - srli gp, sp, 0xFFFFFFFA - add gp, ra, ra - add gp, ra, sp - sra sp, ra, ra - ori sp, ra, 0x0022 - and gp, gp, gp - add ra, sp, ra - sll sp, gp, gp - ori gp, sp, 0x008E - slti ra, gp, 0x00B5 - add sp, ra, sp - and sp, gp, gp - addi ra, sp, 0x0145 - and sp, gp, gp - sll gp, ra, sp - addi sp, sp, 0xFFFFFFAF - xori sp, ra, 0xFFFFFE2C - srl gp, ra, gp - sub ra, sp, gp - add sp, ra, ra - slli sp, sp, 0x0006 - sub gp, ra, sp - sltu sp, ra, gp - xori ra, ra, 0xFFFFFF9A - addi sp, sp, 0xFFFFFE12 - slli ra, ra, 0xFFFFFFFD - add gp, gp, gp - xori ra, ra, 0xFFFFFED7 - andi gp, gp, 0xFFFFFE05 - and gp, gp, sp - addi gp, gp, 0xFFFFFEE5 - slli ra, gp, 0xFFFFFFF6 - sll sp, gp, gp - and ra, gp, sp - ori ra, gp, 0xFFFFFE22 - srl sp, sp, gp - srli ra, sp, 0x0005 - slli ra, ra, 0xFFFFFFFB - srai ra, ra, 0xFFFFFFF9 - srli ra, gp, 0xFFFFFFF1 - andi gp, gp, 0xFFFFFF96 - sra sp, gp, gp - srai gp, gp, 0x000F - sub sp, sp, gp - sltui ra, ra, 0xFFFFFF41 - and sp, sp, sp - xor gp, sp, ra - srai gp, sp, 0xFFFFFFF6 - xori gp, gp, 0x00D3 - or gp, sp, sp - sltu gp, ra, gp - slli ra, gp, 0x0002 - or sp, gp, ra - addi ra, ra, 0x002B - addi gp, ra, 0x0035 - slli sp, gp, 0x0008 - addi gp, sp, 0x015E - xor ra, gp, sp - or ra, gp, ra - sll ra, gp, ra - sll gp, gp, ra - srli gp, ra, 0xFFFFFFF4 - slt sp, ra, sp - sltui sp, sp, 0xFFFFFE1C - ori sp, ra, 0xFFFFFE83 - andi sp, sp, 0xFFFFFEFC - addi ra, ra, 0xFFFFFF85 - ori gp, ra, 0x0084 - sll gp, gp, ra - xori gp, sp, 0xFFFFFF6D - sll gp, sp, gp - sra ra, sp, ra - xor ra, gp, sp - srl ra, ra, sp - srl ra, ra, sp - andi gp, ra, 0xFFFFFE7B - srai ra, sp, 0xFFFFFFF1 - sub sp, sp, ra - or sp, gp, gp - slt ra, ra, gp - or gp, gp, sp - srli ra, sp, 0xFFFFFFF5 - andi ra, gp, 0xFFFFFFD4 - sra sp, sp, sp - add sp, ra, sp - sub gp, ra, sp - xori ra, gp, 0x0131 - add sp, sp, ra - addi sp, gp, 0x0003 - sll ra, ra, ra - slli gp, ra, 0x000E - andi ra, gp, 0xFFFFFE88 - srai ra, gp, 0xFFFFFFFA - done + ori gp, gp, 0xFFFFFE09 + and gp, gp, ra + srli sp, ra, 0x0002 + xor ra, ra, sp + or sp, ra, ra + xori ra, sp, 0x003D + addi ra, sp, 0x0012 + add ra, gp, sp + ori gp, ra, 0xFFFFFFB8 + sll ra, ra, ra + sll sp, gp, ra + slt ra, gp, ra + srai gp, gp, 0x0005 + slli ra, ra, 0x0007 + sub sp, gp, sp + andi ra, gp, 0x002D + sub gp, gp, sp + srai ra, gp, 0x0005 + or sp, ra, sp + xori ra, gp, 0xFFFFFF54 + sll ra, sp, ra + sub gp, gp, sp + add ra, sp, sp + sll ra, gp, ra + add gp, sp, sp + ori gp, sp, 0xFFFFFE68 + srli sp, gp, 0x000F + sltiu ra, ra, 0xFFFFFE5D + srli ra, gp, 0x0006 + srai sp, sp, 0x0005 + andi sp, sp, 0x0129 + and sp, sp, sp + slli gp, ra, 0x0001 + or gp, gp, gp + or sp, gp, gp + slli gp, gp, 0x0006 + srl sp, ra, gp + sltiu gp, ra, 0xFFFFFEC3 + add sp, gp, sp + srli ra, sp, 0x0001 + xori ra, ra, 0xFFFFFFA2 + or gp, gp, sp + and sp, gp, gp + srai gp, sp, 0x0008 + add sp, sp, ra + slti sp, ra, 0xFFFFFFF7 + srli gp, ra, 0x0003 + sll gp, ra, gp + sltu sp, sp, gp + srli gp, ra, 0x0002 + ori gp, sp, 0xFFFFFF28 + srl ra, gp, ra + or gp, ra, ra + ori sp, gp, 0x01D9 + and sp, ra, ra + addi sp, gp, 0x0054 + slli gp, ra, 0x000E + ori sp, sp, 0x0093 + srai sp, ra, 0x000F + slti ra, gp, 0xFFFFFFCB + add gp, gp, gp + and gp, gp, gp + sltiu gp, ra, 0x00DE + slli sp, gp, 0x000D + slli sp, ra, 0x000B + sltiu sp, ra, 0xFFFFFF0E + and ra, gp, ra + add gp, sp, sp + slti ra, sp, 0x008C + srli ra, sp, 0x0000 + addi sp, sp, 0x0168 + slli ra, ra, 0x000D + addi ra, gp, 0x012A + or sp, gp, ra + add ra, sp, gp + and gp, ra, ra + slli ra, gp, 0x000A + or sp, gp, sp + or gp, ra, ra + srli ra, sp, 0x0002 + ori gp, ra, 0x00EB + or sp, gp, ra + ori gp, sp, 0x01DA + andi ra, ra, 0xFFFFFFE9 + addi gp, sp, 0x00C9 + sltiu ra, ra, 0xFFFFFF13 + sltiu ra, ra, 0xFFFFFF3A + sltiu sp, gp, 0xFFFFFE5A + ori sp, sp, 0xFFFFFFFE + and gp, sp, gp + sltiu sp, ra, 0x0034 + srl gp, gp, ra + sll gp, sp, ra + ori ra, gp, 0xFFFFFEB6 + sll ra, sp, ra + sra ra, gp, sp + sub ra, sp, gp + xor gp, gp, sp + sub ra, ra, sp + srl gp, gp, sp + andi ra, ra, 0xFFFFFFCB + ori ra, ra, 0xFFFFFE1B + andi ra, ra, 0xFFFFFEC8 + sltiu sp, gp, 0x0108 + sub sp, gp, ra + slti ra, sp, 0x015D + slli sp, sp, 0x0004 + xor gp, sp, ra + srl ra, gp, ra + sltiu ra, ra, 0xFFFFFF3C + add sp, sp, sp + add gp, gp, ra + slli gp, gp, 0x0001 + andi sp, sp, 0xFFFFFF3A + slt gp, sp, gp + srli ra, sp, 0x0004 + ori sp, gp, 0xFFFFFEAB + ori sp, ra, 0xFFFFFE95 + slli sp, sp, 0x000E + xori gp, sp, 0x0040 + slti gp, sp, 0xFFFFFED1 + or sp, sp, sp + sltiu sp, gp, 0x01B4 + addi ra, gp, 0x002D + and sp, gp, gp + or ra, ra, ra + or ra, gp, ra + srli ra, ra, 0x0004 + or ra, gp, ra + sra ra, ra, gp + slli ra, gp, 0x000B + slti gp, gp, 0x00E0 + addi gp, ra, 0xFFFFFF72 + sltiu gp, sp, 0xFFFFFEAA + xor sp, ra, gp + and gp, sp, ra + srli gp, gp, 0x0003 + xori ra, ra, 0x01BD + srl ra, ra, gp + srai ra, gp, 0x0006 + sub ra, gp, sp + sll gp, ra, gp + xori ra, sp, 0x0065 + and ra, gp, ra + or ra, sp, ra + slt sp, gp, ra + addi ra, sp, 0xFFFFFE34 + slli gp, sp, 0x0007 + sll ra, sp, gp + sltiu gp, gp, 0xFFFFFE62 + slti sp, sp, 0x0019 + xori ra, gp, 0x0092 + sltiu gp, sp, 0xFFFFFF29 + srl sp, ra, gp + xori sp, gp, 0xFFFFFF4C + add sp, ra, gp + add sp, gp, ra + sra sp, sp, gp + slli sp, ra, 0x0008 + srl sp, sp, sp + add sp, gp, ra + andi sp, sp, 0x0039 + sll ra, gp, sp + andi gp, ra, 0xFFFFFECC + sll sp, sp, sp + sub sp, sp, ra + srai ra, sp, 0x0008 + xor gp, ra, sp + add sp, sp, sp + sub gp, ra, gp + xori gp, sp, 0x01EE + and ra, ra, ra + ori gp, ra, 0xFFFFFE96 + slli ra, gp, 0x0002 + srli gp, ra, 0x000D + srli sp, gp, 0x0005 + add ra, sp, sp + andi sp, gp, 0xFFFFFEC0 + andi sp, gp, 0xFFFFFE7A + xori ra, sp, 0x0169 + xori gp, sp, 0xFFFFFE02 + andi ra, ra, 0xFFFFFFD1 + xor ra, sp, gp + xori gp, gp, 0x00AB + srl ra, ra, gp + and ra, ra, sp + xori gp, sp, 0x005D + srai sp, sp, 0x000A + addi ra, sp, 0xFFFFFE19 + or sp, ra, ra + addi ra, gp, 0x0084 + ori sp, sp, 0xFFFFFF3D + xor gp, ra, gp + sra ra, ra, gp + xori ra, sp, 0x0040 + srai gp, gp, 0x0002 + xori ra, ra, 0xFFFFFE9A + sra ra, sp, sp + ori gp, sp, 0xFFFFFFB8 + sll sp, ra, ra + done #regset x1, 123 #regset x2, -40 #regset x3, 0xFFEE diff --git a/src/test/scala/TestUtils.scala b/src/test/scala/TestUtils.scala index 0a671d1..acaa741 100644 --- a/src/test/scala/TestUtils.scala +++ b/src/test/scala/TestUtils.scala @@ -75,7 +75,7 @@ object TestUtils { val entry = hasLeft + (leftIndex << 1) + (hasRight << 8) + (rightIndex << 9) + (root.value << 16) - say(s"with leftIndex: ${leftIndex.hs}, rightIndex: ${rightIndex.hs}, value: ${root.value.hs} we got ${entry.hs}") + // say(s"with leftIndex: ${leftIndex.hs}, rightIndex: ${rightIndex.hs}, value: ${root.value.hs} we got ${entry.hs}") entry :: foldAnno(root.left) ::: foldAnno(root.right) }.getOrElse(Nil) @@ -98,8 +98,8 @@ object TestUtils { */ def generateHazardsForward(steps: Int) : Unit = { - // val r = new scala.util.Random(0xF01D1EF7) - val r = new scala.util.Random(0xF01D1EF8) + val r = new scala.util.Random(0xF01D1EF7) + // val r = new scala.util.Random(0xF01D1EF8) import Ops._ val active = List(1, 2, 3) @@ -136,9 +136,9 @@ object TestUtils { (s"ori ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.or(rd, rs1, imm)), (s"xori ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.xor(rd, rs1, imm)), (s"andi ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.and(rd, rs1, imm)), - (s"slli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(shift).show}", ArithImmShift.sll(rd, rs1, shift % 32)), - (s"srli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(shift).show}", ArithImmShift.srl(rd, rs1, shift % 32)), - (s"srai ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(shift).show}", ArithImmShift.sra(rd, rs1, shift % 32)), + (s"slli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(math.abs(shift).toInt % 32).show}", ArithImmShift.sll(rd, rs1, math.abs(shift).toInt % 32)), + (s"srli ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(math.abs(shift).toInt % 32).show}", ArithImmShift.srl(rd, rs1, math.abs(shift).toInt % 32)), + (s"srai ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(math.abs(shift).toInt % 32).show}", ArithImmShift.sra(rd, rs1, math.abs(shift).toInt % 32)), (s"slti ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.slt(rd, rs1, imm)), (s"sltiu ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.sltu(rd, rs1, imm))) (rd, choices.shuffle(r).head)