|
497 | 497 | // CHECK-MEMTAG: __ARM_FEATURE_MEMORY_TAGGING 1
|
498 | 498 |
|
499 | 499 | // ================== Check Pointer Authentication Extension (PAuth).
|
500 |
| -// RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-OFF %s |
501 |
| -// RUN: %clang -target arm64-none-linux-gnu -march=armv8.5-a -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-OFF %s |
502 |
| -// RUN: %clang -target arm64-none-linux-gnu -march=armv8-a+pauth -mbranch-protection=none -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-ON %s |
| 500 | +// RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -x c -E -dM %s -o - | FileCheck -check-prefixes=CHECK-PAUTH-OFF,CHECK-CPU-NOPAUTH %s |
| 501 | +// RUN: %clang -target arm64-none-linux-gnu -march=armv8.5-a+nopauth -x c -E -dM %s -o - | FileCheck -check-prefixes=CHECK-PAUTH-OFF,CHECK-CPU-NOPAUTH %s |
| 502 | +// RUN: %clang -target arm64-none-linux-gnu -march=armv8.5-a -x c -E -dM %s -o - | FileCheck -check-prefixes=CHECK-PAUTH-OFF,CHECK-CPU-PAUTH %s |
| 503 | +// RUN: %clang -target arm64-none-linux-gnu -march=armv8-a+pauth -mbranch-protection=none -x c -E -dM %s -o - | FileCheck -check-prefixes=CHECK-PAUTH-OFF,CHECK-CPU-PAUTH %s |
503 | 504 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -mbranch-protection=none -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-OFF %s
|
504 | 505 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -mbranch-protection=bti -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-OFF %s
|
505 | 506 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -mbranch-protection=standard -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH %s
|
506 | 507 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -mbranch-protection=pac-ret -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH %s
|
507 | 508 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -mbranch-protection=pac-ret+b-key -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-BKEY %s
|
508 | 509 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -mbranch-protection=pac-ret+leaf -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-ALL %s
|
509 | 510 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -mbranch-protection=pac-ret+leaf+b-key -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-PAUTH-BKEY-ALL %s
|
510 |
| -// CHECK-PAUTH-OFF-NOT: __ARM_FEATURE_PAC_DEFAULT |
511 |
| -// CHECK-PAUTH: #define __ARM_FEATURE_PAC_DEFAULT 1 |
512 |
| -// CHECK-PAUTH-BKEY: #define __ARM_FEATURE_PAC_DEFAULT 2 |
513 |
| -// CHECK-PAUTH-ALL: #define __ARM_FEATURE_PAC_DEFAULT 5 |
514 |
| -// CHECK-PAUTH-BKEY-ALL: #define __ARM_FEATURE_PAC_DEFAULT 6 |
515 |
| -// CHECK-PAUTH-ON: #define __ARM_FEATURE_PAUTH 1 |
| 511 | +// |
| 512 | +// Note: PAUTH-OFF - pac-ret is disabled |
| 513 | +// CPU-NOPAUTH - FEAT_PAUTH support is disabled (but pac-ret can still use HINT-encoded instructions) |
| 514 | +// |
| 515 | +// CHECK-CPU-NOPAUTH-NOT: __ARM_FEATURE_PAUTH |
| 516 | +// CHECK-PAUTH-OFF-NOT: __ARM_FEATURE_PAC_DEFAULT |
| 517 | +// CHECK-PAUTH: #define __ARM_FEATURE_PAC_DEFAULT 1 |
| 518 | +// CHECK-PAUTH-BKEY: #define __ARM_FEATURE_PAC_DEFAULT 2 |
| 519 | +// CHECK-PAUTH-ALL: #define __ARM_FEATURE_PAC_DEFAULT 5 |
| 520 | +// CHECK-PAUTH-BKEY-ALL: #define __ARM_FEATURE_PAC_DEFAULT 6 |
| 521 | +// CHECK-CPU-PAUTH: #define __ARM_FEATURE_PAUTH 1 |
| 522 | +// CHECK-CPU-NOPAUTH-NOT: __ARM_FEATURE_PAUTH |
516 | 523 |
|
517 | 524 | // ================== Check Branch Target Identification (BTI).
|
518 | 525 | // RUN: %clang -target arm64-none-linux-gnu -march=armv8-a -x c -E -dM %s -o - | FileCheck -check-prefix=CHECK-BTI-OFF %s
|
|
0 commit comments