@@ -283,7 +283,9 @@ class QCIRVInstEI<bits<3> funct3, bits<2> funct2, string opcodestr>
283
283
// Instructions
284
284
//===----------------------------------------------------------------------===//
285
285
286
- let Predicates = [HasVendorXqcicsr, IsRV32], DecoderNamespace = "Xqcicsr" in {
286
+ let DecoderNamespace = "Xqci" in {
287
+
288
+ let Predicates = [HasVendorXqcicsr, IsRV32] in {
287
289
let hasSideEffects = 1, mayLoad = 0, mayStore = 0 in {
288
290
def QC_CSRRWR : RVInstR<0b1000110, 0b000, OPC_SYSTEM, (outs GPR:$rd),
289
291
(ins GPR:$rs1, GPRNoX0:$rs2), "qc.csrrwr",
@@ -293,9 +295,9 @@ let hasSideEffects = 1, mayLoad = 0, mayStore = 0 in {
293
295
(ins uimm5:$rs1, GPRNoX0:$rs2), "qc.csrrwri",
294
296
"$rd, $rs1, $rs2">;
295
297
} // hasSideEffects = 1, mayLoad = 0, mayStore = 0
296
- } // Predicates = [HasVendorXqcicsr, IsRV32], DecoderNamespace = "Xqcicsr"
298
+ } // Predicates = [HasVendorXqcicsr, IsRV32]
297
299
298
- let Predicates = [HasVendorXqcisls, IsRV32], DecoderNamespace = "Xqcisls" in {
300
+ let Predicates = [HasVendorXqcisls, IsRV32] in {
299
301
def QC_LRB : QCILoad_ScaleIdx<0b1000, "qc.lrb">;
300
302
def QC_LRH : QCILoad_ScaleIdx<0b1001, "qc.lrh">;
301
303
def QC_LRW : QCILoad_ScaleIdx<0b1010, "qc.lrw">;
@@ -305,9 +307,9 @@ let Predicates = [HasVendorXqcisls, IsRV32], DecoderNamespace = "Xqcisls" in {
305
307
def QC_SRB : QCIStore_ScaleIdx<0b1101, "qc.srb">;
306
308
def QC_SRH : QCIStore_ScaleIdx<0b1110, "qc.srh">;
307
309
def QC_SRW : QCIStore_ScaleIdx<0b1111, "qc.srw">;
308
- } // Predicates = [HasVendorXqcisls, IsRV32], DecoderNamespace = "Xqcisls"
310
+ } // Predicates = [HasVendorXqcisls, IsRV32]
309
311
310
- let Predicates = [HasVendorXqcia, IsRV32], DecoderNamespace = "Xqcia" in {
312
+ let Predicates = [HasVendorXqcia, IsRV32] in {
311
313
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
312
314
def QC_SLASAT : QCIRVInstRR<0b01010, GPRNoX0, "qc.slasat">;
313
315
def QC_SLLSAT : QCIRVInstRR<0b01100, GPRNoX0, "qc.sllsat">;
@@ -329,9 +331,9 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
329
331
def QC_NORMU : QCIRVInstR<0b1000, "qc.normu">;
330
332
def QC_NORMEU : QCIRVInstR<0b1001, "qc.normeu">;
331
333
} // hasSideEffects = 0, mayLoad = 0, mayStore = 0
332
- } // Predicates = [HasVendorXqcia, IsRV32], DecoderNamespace = "Xqcia"
334
+ } // Predicates = [HasVendorXqcia, IsRV32]
333
335
334
- let Predicates = [HasVendorXqciac, IsRV32], DecoderNamespace = "Xqciac" in {
336
+ let Predicates = [HasVendorXqciac, IsRV32] in {
335
337
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
336
338
def QC_C_MULIADD : RVInst16CL<0b001, 0b10, (outs GPRC:$rd_wb),
337
339
(ins GPRC:$rd, GPRC:$rs1, uimm5:$uimm),
@@ -360,9 +362,9 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
360
362
}
361
363
362
364
} // hasSideEffects = 0, mayLoad = 0, mayStore = 0
363
- } // Predicates = [HasVendorXqciac, IsRV32], DecoderNamespace = "Xqciac"
365
+ } // Predicates = [HasVendorXqciac, IsRV32]
364
366
365
- let Predicates = [HasVendorXqcics, IsRV32], DecoderNamespace = "Xqcics" in {
367
+ let Predicates = [HasVendorXqcics, IsRV32] in {
366
368
def QC_SELECTIIEQ : QCISELECTIICC <0b010, "qc.selectiieq">;
367
369
def QC_SELECTIINE : QCISELECTIICC <0b011, "qc.selectiine">;
368
370
def QC_SELECTIEQ : QCISELECTICC <0b010, "qc.selectieq">;
@@ -371,19 +373,19 @@ let Predicates = [HasVendorXqcics, IsRV32], DecoderNamespace = "Xqcics" in {
371
373
def QC_SELECTNEI : QCISELECTCCI <0b011, "qc.selectnei">;
372
374
def QC_SELECTIEQI : QCISELECTICCI <0b010, "qc.selectieqi">;
373
375
def QC_SELECTINEI : QCISELECTICCI <0b011, "qc.selectinei">;
374
- } // Predicates = [HasVendorXqcics, IsRV32], DecoderNamespace = "Xqcics"
376
+ } // Predicates = [HasVendorXqcics, IsRV32]
375
377
376
- let Predicates = [HasVendorXqcilsm, IsRV32], DecoderNamespace = "Xqcilsm" in {
378
+ let Predicates = [HasVendorXqcilsm, IsRV32] in {
377
379
def QC_SWM : QCIStoreMultiple<0b00, GPRNoX0, "qc.swm">;
378
380
def QC_SWMI : QCIStoreMultiple<0b01, uimm5nonzero, "qc.swmi">;
379
381
def QC_SETWM : QCIStoreMultiple<0b10, GPRNoX0, "qc.setwm">;
380
382
def QC_SETWMI : QCIStoreMultiple<0b11, uimm5nonzero, "qc.setwmi">;
381
383
382
384
def QC_LWM : QCILoadMultiple<0b00, GPRNoX0, "qc.lwm">;
383
385
def QC_LWMI : QCILoadMultiple<0b01, uimm5nonzero, "qc.lwmi">;
384
- } // Predicates = [HasVendorXqcilsm, IsRV32], DecoderNamespace = "Xqcilsm"
386
+ } // Predicates = [HasVendorXqcilsm, IsRV32]
385
387
386
- let Predicates = [HasVendorXqcicli, IsRV32], DecoderNamespace = "Xqcicli" in {
388
+ let Predicates = [HasVendorXqcicli, IsRV32] in {
387
389
def QC_LIEQ : QCILICC<0b000, 0b01, GPRNoX0, "qc.lieq">;
388
390
def QC_LINE : QCILICC<0b001, 0b01, GPRNoX0, "qc.line">;
389
391
def QC_LILT : QCILICC<0b100, 0b01, GPRNoX0, "qc.lilt">;
@@ -397,9 +399,9 @@ let Predicates = [HasVendorXqcicli, IsRV32], DecoderNamespace = "Xqcicli" in {
397
399
def QC_LIGEI : QCILICC<0b101, 0b11, simm5, "qc.ligei">;
398
400
def QC_LILTUI : QCILICC<0b110, 0b11, uimm5, "qc.liltui">;
399
401
def QC_LIGEUI : QCILICC<0b111, 0b11, uimm5, "qc.ligeui">;
400
- } // Predicates = [HasVendorXqcicli, IsRV32], DecoderNamespace = "Xqcicli"
402
+ } // Predicates = [HasVendorXqcicli, IsRV32]
401
403
402
- let Predicates = [HasVendorXqcicm, IsRV32], DecoderNamespace = "Xqcicm" in {
404
+ let Predicates = [HasVendorXqcicm, IsRV32] in {
403
405
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
404
406
def QC_C_MVEQZ : RVInst16CL<0b101, 0b10, (outs GPRC:$rd_wb),
405
407
(ins GPRC:$rd, GPRC:$rs1),
@@ -423,9 +425,9 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
423
425
def QC_MVGEI : QCIMVCCI<0b101, "qc.mvgei", simm5>;
424
426
def QC_MVLTUI : QCIMVCCI<0b110, "qc.mvltui", uimm5>;
425
427
def QC_MVGEUI : QCIMVCCI<0b111, "qc.mvgeui", uimm5>;
426
- } // Predicates = [HasVendorXqcicm, IsRV32], DecoderNamespace = "Xqcicm"
428
+ } // Predicates = [HasVendorXqcicm, IsRV32]
427
429
428
- let Predicates = [HasVendorXqciint, IsRV32], DecoderNamespace = "Xqciint" in {
430
+ let Predicates = [HasVendorXqciint, IsRV32] in {
429
431
let hasSideEffects = 1, mayLoad = 0, mayStore = 0 in
430
432
def QC_C_DIR : RVInst16CI<0b000, 0b10, (outs GPRNoX0:$rd), (ins),
431
433
"qc.c.dir", "$rd"> {
@@ -455,9 +457,9 @@ let Predicates = [HasVendorXqciint, IsRV32], DecoderNamespace = "Xqciint" in {
455
457
456
458
let mayLoad = 1, mayStore = 1, isReturn = 1, isTerminator = 1 in
457
459
def QC_C_MILEAVERET : QCIRVInst16CI_NONE<0b10100, "qc.c.mileaveret">;
458
- } // Predicates = [HasVendorXqciint, IsRV32], DecoderNamespace = "Xqciint"
460
+ } // Predicates = [HasVendorXqciint, IsRV32]
459
461
460
- let Predicates = [HasVendorXqcilo, IsRV32], DecoderNamespace = "Xqcilo" in {
462
+ let Predicates = [HasVendorXqcilo, IsRV32] in {
461
463
def QC_E_LB : QCIRVInstEILoad<0b101, 0b00, "qc.e.lb">;
462
464
def QC_E_LBU : QCIRVInstEILoad<0b101, 0b01, "qc.e.lbu">;
463
465
def QC_E_LH : QCIRVInstEILoad<0b101, 0b10, "qc.e.lh">;
@@ -467,9 +469,9 @@ let Predicates = [HasVendorXqcilo, IsRV32], DecoderNamespace = "Xqcilo" in {
467
469
def QC_E_SB : QCIRVInstESStore<0b110, 0b01, "qc.e.sb">;
468
470
def QC_E_SH : QCIRVInstESStore<0b110, 0b10, "qc.e.sh">;
469
471
def QC_E_SW : QCIRVInstESStore<0b110, 0b11, "qc.e.sw">;
470
- } // Predicates = [HasVendorXqcilo, IsRV32], DecoderNamespace = "Xqcilo"
472
+ } // Predicates = [HasVendorXqcilo, IsRV32]
471
473
472
- let Predicates = [HasVendorXqcilia, IsRV32], DecoderNamespace = "Xqcilia" in {
474
+ let Predicates = [HasVendorXqcilia, IsRV32] in {
473
475
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
474
476
def QC_E_XORAI : QCIRVInstEAI<0b001, 0b0, "qc.e.xorai">;
475
477
def QC_E_ORAI : QCIRVInstEAI<0b001, 0b1, "qc.e.orai" >;
@@ -481,7 +483,9 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in {
481
483
def QC_E_ADDI : QCIRVInstEI<0b011, 0b10, "qc.e.addi">;
482
484
def QC_E_ANDI : QCIRVInstEI<0b011, 0b11, "qc.e.andi">;
483
485
} // hasSideEffects = 0, mayLoad = 0, mayStore = 0
484
- } // Predicates = [HasVendorXqcilia, IsRV32], DecoderNamespace = "Xqcilia"
486
+ } // Predicates = [HasVendorXqcilia, IsRV32]
487
+
488
+ } // DecoderNamespace = "Xqci"
485
489
486
490
//===----------------------------------------------------------------------===//
487
491
// Aliases
0 commit comments