1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

[ARM] Add data gathering hint instruction

Summary:
This patch upstreams support the optional ARMv8.0 Data Gathering Hint (DGH)
extension, which adds the Data Gathering Hint instruction to the hint
space.

See ARMv8.0-DGH in the Arm Architecture Reference Manual Armv8 for more
information.

Reviewers: t.p.northover, rengolin, SjoerdMeijer, ab, danielkiss, samparker

Reviewed By: SjoerdMeijer

Subscribers: LukeGeeson, ostannard, kristof.beyls, hiraditya, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77097
This commit is contained in:
Oliver Stannard 2020-04-05 15:21:00 +01:00 committed by Ties Stuij
parent cf2bc6f40e
commit 89cccc020b
3 changed files with 5 additions and 0 deletions

View File

@ -711,6 +711,7 @@ def : InstAlias<"wfe", (HINT 0b010)>;
def : InstAlias<"wfi", (HINT 0b011)>; def : InstAlias<"wfi", (HINT 0b011)>;
def : InstAlias<"sev", (HINT 0b100)>; def : InstAlias<"sev", (HINT 0b100)>;
def : InstAlias<"sevl", (HINT 0b101)>; def : InstAlias<"sevl", (HINT 0b101)>;
def : InstAlias<"dgh", (HINT 0b110)>;
def : InstAlias<"esb", (HINT 0b10000)>, Requires<[HasRAS]>; def : InstAlias<"esb", (HINT 0b10000)>, Requires<[HasRAS]>;
def : InstAlias<"csdb", (HINT 20)>; def : InstAlias<"csdb", (HINT 20)>;
def : InstAlias<"bti", (HINT 32)>, Requires<[HasBTI]>; def : InstAlias<"bti", (HINT 32)>, Requires<[HasBTI]>;

View File

@ -3465,12 +3465,14 @@ _func:
wfi wfi
sev sev
sevl sevl
dgh
// CHECK: nop // encoding: [0x1f,0x20,0x03,0xd5] // CHECK: nop // encoding: [0x1f,0x20,0x03,0xd5]
// CHECK: yield // encoding: [0x3f,0x20,0x03,0xd5] // CHECK: yield // encoding: [0x3f,0x20,0x03,0xd5]
// CHECK: wfe // encoding: [0x5f,0x20,0x03,0xd5] // CHECK: wfe // encoding: [0x5f,0x20,0x03,0xd5]
// CHECK: wfi // encoding: [0x7f,0x20,0x03,0xd5] // CHECK: wfi // encoding: [0x7f,0x20,0x03,0xd5]
// CHECK: sev // encoding: [0x9f,0x20,0x03,0xd5] // CHECK: sev // encoding: [0x9f,0x20,0x03,0xd5]
// CHECK: sevl // encoding: [0xbf,0x20,0x03,0xd5] // CHECK: sevl // encoding: [0xbf,0x20,0x03,0xd5]
// CHECK: dgh // encoding: [0xdf,0x20,0x03,0xd5]
clrex clrex
clrex #0 clrex #0

View File

@ -3033,6 +3033,7 @@
# CHECK: wfi # CHECK: wfi
# CHECK: sev # CHECK: sev
# CHECK: sevl # CHECK: sevl
# CHECK: dgh
0x1f 0x20 0x3 0xd5 0x1f 0x20 0x3 0xd5
0xff 0x2f 0x3 0xd5 0xff 0x2f 0x3 0xd5
0x1f 0x20 0x3 0xd5 0x1f 0x20 0x3 0xd5
@ -3041,6 +3042,7 @@
0x7f 0x20 0x3 0xd5 0x7f 0x20 0x3 0xd5
0x9f 0x20 0x3 0xd5 0x9f 0x20 0x3 0xd5
0xbf 0x20 0x3 0xd5 0xbf 0x20 0x3 0xd5
0xdf,0x20,0x3,0xd5
# CHECK: clrex # CHECK: clrex
# CHECK: clrex #0 # CHECK: clrex #0