| @@ -1,204 +1,204 @@ | |||||
| main: | main: | ||||
| ori gp, gp, 0xFFFFFE09 | |||||
| and gp, gp, ra | |||||
| xor ra, ra, sp | |||||
| sra ra, sp, sp | |||||
| 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 | |||||
| andi gp, gp, 0x0084 | |||||
| xori ra, ra, 0xFFFFFEB4 | |||||
| or sp, ra, ra | 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 | |||||
| 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 | |||||
| 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 | and sp, ra, ra | ||||
| addi sp, gp, 0x0054 | |||||
| slli gp, ra, 0xFFFFFFF2 | |||||
| ori sp, sp, 0x0093 | |||||
| add gp, gp, gp | |||||
| 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 | |||||
| add gp, ra, ra | |||||
| sltiu ra, gp, 0xFFFFFE56 | |||||
| sra gp, gp, ra | |||||
| xori sp, gp, 0xFFFFFF0D | |||||
| sub sp, gp, ra | 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 | |||||
| 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 | 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 | |||||
| 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 | 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 | |||||
| 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 | sra sp, sp, gp | ||||
| slli sp, ra, 0x0008 | |||||
| srl sp, sp, sp | |||||
| and gp, ra, ra | |||||
| sra ra, ra, gp | |||||
| add sp, gp, ra | 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 | |||||
| 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 | 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 | |||||
| sll sp, ra, gp | |||||
| sll gp, sp, sp | |||||
| sra gp, ra, ra | |||||
| srli gp, gp, 0x0001 | |||||
| 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 | done | ||||
| #regset x1, 123 | #regset x1, 123 | ||||
| #regset x2, -40 | #regset x2, -40 | ||||
| @@ -1,205 +1,205 @@ | |||||
| main: | 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 x1, 123 | ||||
| #regset x2, -40 | #regset x2, -40 | ||||
| #regset x3, 0xFFEE | #regset x3, 0xFFEE | ||||
| @@ -75,7 +75,7 @@ object TestUtils { | |||||
| val entry = hasLeft + (leftIndex << 1) + (hasRight << 8) + (rightIndex << 9) + (root.value << 16) | 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) | entry :: foldAnno(root.left) ::: foldAnno(root.right) | ||||
| }.getOrElse(Nil) | }.getOrElse(Nil) | ||||
| @@ -98,8 +98,8 @@ object TestUtils { | |||||
| */ | */ | ||||
| def generateHazardsForward(steps: Int) : Unit = { | 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._ | import Ops._ | ||||
| val active = List(1, 2, 3) | 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"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"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"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"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))) | (s"sltiu ${Reg(rd).show}, ${Reg(rs1).show}, ${Imm(imm).show}", ArithImm.sltu(rd, rs1, imm))) | ||||
| (rd, choices.shuffle(r).head) | (rd, choices.shuffle(r).head) | ||||