85 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+tlbid,+tlb-rmi,+tlbiw < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+tlb-rmi,+tlbiw < %s 2>&1 \4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbid,+tlb-rmi,+tlbiw < %s \6// RUN: | llvm-objdump -d --mattr=+tlbid,+tlb-rmi,+tlbiw --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+tlbid,+tlb-rmi,+tlbiw < %s \8// RUN: | llvm-objdump -d --mattr=-tlbid --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN9// Disassemble encoding and check the re-encoding (-show-encoding) matches.10// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+tlbid,+tlb-rmi,+tlbiw < %s \11// RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \12// RUN: | llvm-mc -triple=aarch64 -mattr=+tlbid,+tlb-rmi,+tlbiw -disassemble -show-encoding \13// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST14 15// Armv9.7-A TLBI Domains (FEAT_TLBID)16 17tlbi vmalle1is18// CHECK-INST: tlbi vmalle1is19// CHECK-ENCODING: encoding: [0x1f,0x83,0x08,0xd5]20// CHECK-UNKNOWN: d508831f tlbi vmalle1is21 22tlbi vmalle1is, xzr23// CHECK-INST: tlbi vmalle1is24// CHECK-ENCODING: encoding: [0x1f,0x83,0x08,0xd5]25// CHECK-UNKNOWN: d508831f tlbi vmalle1is26 27tlbi vmalle1is, x3128// CHECK-INST: tlbi vmalle1is29// CHECK-ENCODING: encoding: [0x1f,0x83,0x08,0xd5]30// CHECK-UNKNOWN: d508831f tlbi vmalle1is31 32tlbi vmalle1is, x533// CHECK-INST: tlbi vmalle1is, x534// CHECK-ENCODING: encoding: [0x05,0x83,0x08,0xd5]35// CHECK-ERROR: error: specified tlbi op does not use a register36// CHECK-UNKNOWN: d5088305 sys #0, c8, c3, #0, x537 38tlbi vmalle1os, x539// CHECK-INST: tlbi vmalle1os, x540// CHECK-ENCODING: encoding: [0x05,0x81,0x08,0xd5]41// CHECK-ERROR: error: specified tlbi op does not use a register42// CHECK-UNKNOWN: d5088105 sys #0, c8, c1, #0, x543 44tlbi alle1is, x545// CHECK-INST: tlbi alle1is, x546// CHECK-ENCODING: encoding: [0x85,0x83,0x0c,0xd5]47// CHECK-ERROR: error: specified tlbi op does not use a register48// CHECK-UNKNOWN: d50c8385 sys #4, c8, c3, #4, x549 50tlbi alle2is, x551// CHECK-INST: tlbi alle2is, x552// CHECK-ENCODING: encoding: [0x05,0x83,0x0c,0xd5]53// CHECK-ERROR: error: specified tlbi op does not use a register54// CHECK-UNKNOWN: d50c8305 sys #4, c8, c3, #0, x555 56tlbi alle3is, x557// CHECK-INST: tlbi alle3is, x558// CHECK-ENCODING: encoding: [0x05,0x83,0x0e,0xd5]59// CHECK-ERROR: error: specified tlbi op does not use a register60// CHECK-UNKNOWN: d50e8305 sys #6, c8, c3, #0, x561 62tlbi vmalls12e1is, x163// CHECK-INST: tlbi vmalls12e1is, x164// CHECK-ENCODING: encoding: [0xc1,0x83,0x0c,0xd5]65// CHECK-ERROR: error: specified tlbi op does not use a register66// CHECK-UNKNOWN: d50c83c1 sys #4, c8, c3, #6, x167 68tlbi vmalls12e1os, x569// CHECK-INST: tlbi vmalls12e1os, x570// CHECK-ENCODING: encoding: [0xc5,0x81,0x0c,0xd5]71// CHECK-ERROR: error: specified tlbi op does not use a register72// CHECK-UNKNOWN: d50c81c5 sys #4, c8, c1, #6, x573 74tlbi vmallws2e1is, x175// CHECK-INST: tlbi vmallws2e1is, x176// CHECK-ENCODING: encoding: [0x41,0x82,0x0c,0xd5]77// CHECK-ERROR: error: specified tlbi op does not use a register78// CHECK-UNKNOWN: d50c8241 sys #4, c8, c2, #2, x179 80tlbi vmallws2e1os, x181// CHECK-INST: tlbi vmallws2e1os, x182// CHECK-ENCODING: encoding: [0x41,0x85,0x0c,0xd5]83// CHECK-ERROR: error: specified tlbi op does not use a register84// CHECK-UNKNOWN: d50c8541 sys #4, c8, c5, #2, x185