1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lsfe < %s \ 2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ 4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR 5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lsfe < %s \ 6// RUN: | llvm-objdump -d --mattr=+lsfe - | FileCheck %s --check-prefix=CHECK-INST 7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+lsfe < %s \ 8// RUN: | llvm-objdump -d --mattr=-lsfe - | FileCheck %s --check-prefix=CHECK-UNKNOWN 9// Disassemble encoding and check the re-encoding (-show-encoding) matches. 10// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+lsfe < %s \ 11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ 12// RUN: | llvm-mc -triple=aarch64 -mattr=+lsfe -disassemble -show-encoding \ 13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 14 15//------------------------------------------------------------------------------ 16// STFMAX 17//------------------------------------------------------------------------------ 18 19stfmax h0, [x2] 20// CHECK-INST: stfmax h0, [x2] 21// CHECK-ENCODING: [0x5f,0xc0,0x20,0x7c] 22// CHECK-ERROR: instruction requires: lsfe 23// CHECK-UNKNOWN: 7c20c05f <unknown> 24 25stfmax h2, [sp] 26// CHECK-INST: stfmax h2, [sp] 27// CHECK-ENCODING: [0xff,0xc3,0x22,0x7c] 28// CHECK-ERROR: instruction requires: lsfe 29// CHECK-UNKNOWN: 7c22c3ff <unknown> 30 31stfmax s0, [x2] 32// CHECK-INST: stfmax s0, [x2] 33// CHECK-ENCODING: [0x5f,0xc0,0x20,0xbc] 34// CHECK-ERROR: instruction requires: lsfe 35// CHECK-UNKNOWN: bc20c05f <unknown> 36 37stfmax s2, [sp] 38// CHECK-INST: stfmax s2, [sp] 39// CHECK-ENCODING: [0xff,0xc3,0x22,0xbc] 40// CHECK-ERROR: instruction requires: lsfe 41// CHECK-UNKNOWN: bc22c3ff <unknown> 42 43stfmax d0, [x2] 44// CHECK-INST: stfmax d0, [x2] 45// CHECK-ENCODING: [0x5f,0xc0,0x20,0xfc] 46// CHECK-ERROR: instruction requires: lsfe 47// CHECK-UNKNOWN: fc20c05f <unknown> 48 49stfmax d2, [sp] 50// CHECK-INST: stfmax d2, [sp] 51// CHECK-ENCODING: [0xff,0xc3,0x22,0xfc] 52// CHECK-ERROR: instruction requires: lsfe 53// CHECK-UNKNOWN: fc22c3ff <unknown> 54 55// -- stfmaxl 56 57stfmaxl h0, [x2] 58// CHECK-INST: stfmaxl h0, [x2] 59// CHECK-ENCODING: [0x5f,0xc0,0x60,0x7c] 60// CHECK-ERROR: instruction requires: lsfe 61// CHECK-UNKNOWN: 7c60c05f <unknown> 62 63stfmaxl h2, [sp] 64// CHECK-INST: stfmaxl h2, [sp] 65// CHECK-ENCODING: [0xff,0xc3,0x62,0x7c] 66// CHECK-ERROR: instruction requires: lsfe 67// CHECK-UNKNOWN: 7c62c3ff <unknown> 68 69stfmaxl s0, [x2] 70// CHECK-INST: stfmaxl s0, [x2] 71// CHECK-ENCODING: [0x5f,0xc0,0x60,0xbc] 72// CHECK-ERROR: instruction requires: lsfe 73// CHECK-UNKNOWN: bc60c05f <unknown> 74 75stfmaxl s2, [sp] 76// CHECK-INST: stfmaxl s2, [sp] 77// CHECK-ENCODING: [0xff,0xc3,0x62,0xbc] 78// CHECK-ERROR: instruction requires: lsfe 79// CHECK-UNKNOWN: bc62c3ff <unknown> 80 81stfmaxl d0, [x2] 82// CHECK-INST: stfmaxl d0, [x2] 83// CHECK-ENCODING: [0x5f,0xc0,0x60,0xfc] 84// CHECK-ERROR: instruction requires: lsfe 85// CHECK-UNKNOWN: fc60c05f <unknown> 86 87stfmaxl d2, [sp] 88// CHECK-INST: stfmaxl d2, [sp] 89// CHECK-ENCODING: [0xff,0xc3,0x62,0xfc] 90// CHECK-ERROR: instruction requires: lsfe 91// CHECK-UNKNOWN: fc62c3ff <unknown> 92 93//------------------------------------------------------------------------------ 94// STBFMAX 95//------------------------------------------------------------------------------ 96 97stbfmax h0, [x2] 98// CHECK-INST: stbfmax h0, [x2] 99// CHECK-ENCODING: [0x5f,0xc0,0x20,0x3c] 100// CHECK-ERROR: instruction requires: lsfe 101// CHECK-UNKNOWN: 3c20c05f <unknown> 102 103stbfmax h2, [sp] 104// CHECK-INST: stbfmax h2, [sp] 105// CHECK-ENCODING: [0xff,0xc3,0x22,0x3c] 106// CHECK-ERROR: instruction requires: lsfe 107// CHECK-UNKNOWN: 3c22c3ff <unknown> 108 109// -- stbfmaxl 110 111stbfmaxl h0, [x2] 112// CHECK-INST: stbfmaxl h0, [x2] 113// CHECK-ENCODING: [0x5f,0xc0,0x60,0x3c] 114// CHECK-ERROR: instruction requires: lsfe 115// CHECK-UNKNOWN: 3c60c05f <unknown> 116 117stbfmaxl h2, [sp] 118// CHECK-INST: stbfmaxl h2, [sp] 119// CHECK-ENCODING: [0xff,0xc3,0x62,0x3c] 120// CHECK-ERROR: instruction requires: lsfe 121// CHECK-UNKNOWN: 3c62c3ff <unknown>