Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 1 | # Xqcisync - Qualcomm uC Sync Delay Extension |
Fangrui Song | a1f1bbf | 2025-04-08 19:42:43 -0700 | [diff] [blame] | 2 | # RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcisync -M no-aliases -show-encoding \ |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 3 | # RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-NOALIAS %s |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 4 | # RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcisync < %s \ |
| 5 | # RUN: | llvm-objdump --mattr=+experimental-xqcisync -M no-aliases --no-print-imm-hex -d - \ |
| 6 | # RUN: | FileCheck -check-prefix=CHECK-INST %s |
| 7 | # RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcisync -show-encoding \ |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 8 | # RUN: | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-ALIAS %s |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 9 | # RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcisync < %s \ |
| 10 | # RUN: | llvm-objdump --mattr=+experimental-xqcisync --no-print-imm-hex -d - \ |
| 11 | # RUN: | FileCheck -check-prefix=CHECK-INST %s |
| 12 | |
| 13 | # CHECK-INST: qc.c.delay 10 |
| 14 | # CHECK-ENC: encoding: [0x2a,0x00] |
| 15 | qc.c.delay 10 |
| 16 | |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 17 | # CHECK-INST: qc.sync 9 |
| 18 | # CHECK-ENC: encoding: [0x13,0x30,0x90,0x10] |
| 19 | qc.sync 9 |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 20 | |
| 21 | # CHECK-INST: qc.syncr 23 |
| 22 | # CHECK-ENC: encoding: [0x13,0x30,0x70,0x21] |
| 23 | qc.syncr 23 |
| 24 | |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 25 | # CHECK-INST: qc.syncwf 30 |
| 26 | # CHECK-ENC: encoding: [0x13,0x30,0xe0,0x41] |
| 27 | qc.syncwf 30 |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 28 | |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 29 | # CHECK-INST: qc.syncwl 6 |
| 30 | # CHECK-ENC: encoding: [0x13,0x30,0x60,0x80] |
| 31 | qc.syncwl 6 |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 32 | |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 33 | # CHECK-NOALIAS: qc.c.sync 0 |
| 34 | # CHECK-ALIAS: qc.sync 0 |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 35 | # CHECK-ENC: encoding: [0x01,0x80] |
| 36 | qc.c.sync 0 |
| 37 | |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 38 | # CHECK-NOALIAS: qc.c.syncr 15 |
| 39 | # CHECK-ALIAS: qc.syncr 15 |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 40 | # CHECK-ENC: encoding: [0x01,0x87] |
| 41 | qc.c.syncr 15 |
| 42 | |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 43 | # CHECK-NOALIAS: qc.c.syncwf 31 |
| 44 | # CHECK-ALIAS: qc.syncwf 31 |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 45 | # CHECK-ENC: encoding: [0x81,0x93] |
| 46 | qc.c.syncwf 31 |
| 47 | |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 48 | # CHECK-NOALIAS: qc.c.syncwl 4 |
| 49 | # CHECK-ALIAS: qc.syncwl 4 |
Sudharsan Veeravalli | e710797 | 2025-03-22 11:07:48 +0530 | [diff] [blame] | 50 | # CHECK-ENC: encoding: [0x81,0x95] |
| 51 | qc.c.syncwl 4 |
Sudharsan Veeravalli | f54f4cf | 2025-05-06 13:05:56 +0530 | [diff] [blame^] | 52 | |
| 53 | # Check that compressed patterns work |
| 54 | |
| 55 | # CHECK-NOALIAS: qc.c.sync 8 |
| 56 | # CHECK-ALIAS: qc.sync 8 |
| 57 | # CHECK-ENC: encoding: [0x01,0x82] |
| 58 | qc.sync 8 |
| 59 | |
| 60 | # CHECK-NOALIAS: qc.c.syncr 31 |
| 61 | # CHECK-ALIAS: qc.syncr 31 |
| 62 | # CHECK-ENC: encoding: [0x81,0x87] |
| 63 | qc.syncr 31 |
| 64 | |
| 65 | # CHECK-NOALIAS: qc.c.syncwf 0 |
| 66 | # CHECK-ALIAS: qc.syncwf 0 |
| 67 | # CHECK-ENC: encoding: [0x01,0x90] |
| 68 | qc.syncwf 0 |
| 69 | |
| 70 | # CHECK-NOALIAS: qc.c.syncwl 16 |
| 71 | # CHECK-ALIAS: qc.syncwl 16 |
| 72 | # CHECK-ENC: encoding: [0x81,0x96] |
| 73 | qc.syncwl 16 |