Skip to content

Commit 7042401

Browse files
authored
[PowerPC][NFC] Add new mtpidr alias introduced in ISA3.0 (#163989)
Add new alias `m[tf]pidr` for `m[tf]spr 48` introduced in ISA3.0.
1 parent c576c6b commit 7042401

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

llvm/lib/Target/PowerPC/PPCInstrInfo.td

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4578,6 +4578,8 @@ def : InstAlias<"mfamr $Rx", (MFSPR gprc:$Rx, 29)>;
45784578

45794579
def : InstAlias<"mtpid $Rx", (MTSPR 48, gprc:$Rx)>, Requires<[IsBookE]>;
45804580
def : InstAlias<"mfpid $Rx", (MFSPR gprc:$Rx, 48)>, Requires<[IsBookE]>;
4581+
def : InstAlias<"mtpidr $Rx", (MTSPR 48, gprc:$Rx)>, Requires<[IsISA3_0]>;
4582+
def : InstAlias<"mfpidr $Rx", (MFSPR gprc:$Rx, 48)>, Requires<[IsISA3_0]>;
45814583

45824584
foreach SPRG = 4-7 in {
45834585
def : InstAlias<"mfsprg $RT, "#SPRG, (MFSPR gprc:$RT, !add(SPRG, 256))>,

llvm/test/MC/PowerPC/ppc64-encoding-ext.s

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3491,12 +3491,18 @@
34913491
# CHECK-BE: mfamr 2 # encoding: [0x7c,0x5d,0x02,0xa6]
34923492
# CHECK-LE: mfamr 2 # encoding: [0xa6,0x02,0x5d,0x7c]
34933493
mfamr 2
3494-
# CHECK-BE: mtpid 2 # encoding: [0x7c,0x50,0x0b,0xa6]
3495-
# CHECK-LE: mtpid 2 # encoding: [0xa6,0x0b,0x50,0x7c]
3494+
# CHECK-BE: mtspr 48, 2 # encoding: [0x7c,0x50,0x0b,0xa6]
3495+
# CHECK-LE: mtspr 48, 2 # encoding: [0xa6,0x0b,0x50,0x7c]
34963496
mtpid 2
3497-
# CHECK-BE: mfpid 2 # encoding: [0x7c,0x50,0x0a,0xa6]
3498-
# CHECK-LE: mfpid 2 # encoding: [0xa6,0x0a,0x50,0x7c]
3497+
# CHECK-BE: mtspr 48, 2 # encoding: [0x7c,0x50,0x0b,0xa6]
3498+
# CHECK-LE: mtspr 48, 2 # encoding: [0xa6,0x0b,0x50,0x7c]
3499+
mtpidr 2
3500+
# CHECK-BE: mfspr 2, 48 # encoding: [0x7c,0x50,0x0a,0xa6]
3501+
# CHECK-LE: mfspr 2, 48 # encoding: [0xa6,0x0a,0x50,0x7c]
34993502
mfpid 2
3503+
# CHECK-BE: mfspr 2, 48 # encoding: [0x7c,0x50,0x0a,0xa6]
3504+
# CHECK-LE: mfspr 2, 48 # encoding: [0xa6,0x0a,0x50,0x7c]
3505+
mfpidr 2
35003506
# CHECK-BE: mtlr 2 # encoding: [0x7c,0x48,0x03,0xa6]
35013507
# CHECK-LE: mtlr 2 # encoding: [0xa6,0x03,0x48,0x7c]
35023508
mtlr 2

0 commit comments

Comments
 (0)