| # RUN: llc -mtriple=aarch64--- -run-pass=aarch64-ptrauth -verify-machineinstrs %s -o - | FileCheck %s |
| |
| # Test the corner cases that cannot be reliably tested using LLVM IR as input. |
| |
| --- | |
| define i64 @blend_untied(i64 %unused, i64 %ptr_arg) { |
| ret i64 0 |
| } |
| ... |
| --- |
| # Check that the input register is copied to the output one, if not tied. |
| |
| name: blend_untied |
| tracksRegLiveness: true |
| body: | |
| bb.0: |
| liveins: $lr, $x0, $x1 |
| $x0 = PAUTH_BLEND $x1, 42 |
| RET undef $lr |
| |
| # CHECK: liveins: $lr, $x0, $x1 |
| # CHECK-NEXT: {{^ +$}} |
| # CHECK-NEXT: $x0 = ORRXrs $xzr, $x1, 0 |
| # CHECK-NEXT: $x0 = MOVKXi $x0, 42, 48 |
| # CHECK-NEXT: RET undef $lr |
| |
| ... |