Browse Source

* standard Risc-V pseudo instructions for Risc-V 32 completed

florian 3 years ago
parent
commit
09587d0c1b
2 changed files with 10 additions and 2 deletions
  1. 5 1
      compiler/riscv/itcpugas.pas
  2. 5 1
      compiler/riscv32/cpubase.pas

+ 5 - 1
compiler/riscv/itcpugas.pas

@@ -30,7 +30,11 @@ unit itcpugas;
 
     const
       gas_op2str: array[tasmop] of string[14] = ('<none>',
-        'nop','call',
+        'nop','call','la','lla','lga','li','mv','not','neg','negw',
+        'sext.b','sext.h','zext.b','zex.h','seqz','sneg','sltz','sgtz',
+        'fmv.s','fabs.s','fneg.s','fmv.d','fabs.d','fneg.d',
+        'beqz','bnez','blez','bgez','bltz','bgtz','gt','ble',
+        'bgtu','bleu','j','jr','ret','tail',
         'lui','auipc','jal','jalr',
         'b','lb','lh','lw','lbu','lhu',
         'sb','sh','sw',

+ 5 - 1
compiler/riscv32/cpubase.pas

@@ -39,7 +39,11 @@ uses
     type
       TAsmOp=(A_None,
         { Pseudo instructions }
-        A_NOP,A_CALL,
+        A_NOP,A_CALL,A_LA,A_LLA,A_LGA,A_LI,A_MV,A_NOT,A_NEG,A_NEGW,
+        A_SEXT_B,A_SEXT_H,A_ZEXT_B,A_ZEXT_H,A_SEQZ,A_SNEG,A_SLTZ,A_SGTZ,
+        A_FMV_S,A_FABS_S,A_FNEG_S,A_FMV_D,A_FABS_D,A_FNEG_D,
+        A_BEQZ,A_BNEZ,A_BLEZ,A_BGEZ,A_BLTZ,A_BGTZ,A_GT,A_BLE,
+        A_BGTU,A_BLEU,A_J,A_JR,A_RET,A_TAIL,
         { normal opcodes }
         A_LUI,A_AUIPC,A_JAL,A_JALR,
         A_Bxx,A_LB,A_LH,A_LW,A_LBU,A_LHU,