1// Tests for transaction memory extension instructions
2//
3// RUN:     llvm-mc -triple aarch64 -show-encoding -mattr=+tme   < %s      | FileCheck %s
4// RUN: not llvm-mc -triple aarch64 -show-encoding -mattr=-tme   < %s 2>&1 | FileCheck %s --check-prefix=NOTME
5
6tstart x3
7ttest  x4
8tcommit
9tcancel #0x1234
10
11// CHECK: tstart x3         // encoding: [0x63,0x30,0x23,0xd5]
12// CHECK: ttest x4          // encoding: [0x64,0x31,0x23,0xd5]
13// CHECK: tcommit           // encoding: [0x7f,0x30,0x03,0xd5]
14// CHECK: tcancel #0x1234   // encoding: [0x80,0x46,0x62,0xd4]
15
16
17// NOTME: instruction requires: tme
18// NOTME-NEXT: tstart x3
19// NOTME: instruction requires: tme
20// NOTME-NEXT: ttest  x4
21// NOTME: instruction requires: tme
22// NOTME-NEXT: tcommit
23// NOTME: instruction requires: tme
24// NOTME-NEXT: tcancel #0x1234
25