|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2 |
2 | | -; RUN: llc -mtriple=aarch64 -mattr=+sha3 < %s | FileCheck --check-prefix=SHA3 %s |
3 | | -; RUN: llc -mtriple=aarch64 -mattr=-sha3 < %s | FileCheck --check-prefix=NOSHA3 %s |
| 2 | +; RUN: llc -mtriple=aarch64 -mattr=+sha3 < %s | FileCheck --check-prefixes=SHA3,SHA3-SD %s |
| 3 | +; RUN: llc -mtriple=aarch64 -mattr=-sha3 < %s | FileCheck --check-prefixes=NOSHA3,NOSHA3-SD %s |
| 4 | +; RUN: llc -mtriple=aarch64 -mattr=+sha3 < %s -global-isel | FileCheck --check-prefixes=SHA3,SHA3-GI %s |
| 5 | +; RUN: llc -mtriple=aarch64 -mattr=-sha3 < %s -global-isel | FileCheck --check-prefixes=NOSHA3,NOSHA3-GI %s |
4 | 6 |
|
5 | 7 | define <2 x i64> @rax1(<2 x i64> %x, <2 x i64> %y) { |
6 | | -; SHA3-LABEL: rax1: |
7 | | -; SHA3: // %bb.0: |
8 | | -; SHA3-NEXT: rax1 v0.2d, v0.2d, v1.2d |
9 | | -; SHA3-NEXT: ret |
| 8 | +; SHA3-SD-LABEL: rax1: |
| 9 | +; SHA3-SD: // %bb.0: |
| 10 | +; SHA3-SD-NEXT: rax1 v0.2d, v0.2d, v1.2d |
| 11 | +; SHA3-SD-NEXT: ret |
10 | 12 | ; |
11 | | -; NOSHA3-LABEL: rax1: |
12 | | -; NOSHA3: // %bb.0: |
13 | | -; NOSHA3-NEXT: add v2.2d, v1.2d, v1.2d |
14 | | -; NOSHA3-NEXT: usra v2.2d, v1.2d, #63 |
15 | | -; NOSHA3-NEXT: eor v0.16b, v0.16b, v2.16b |
16 | | -; NOSHA3-NEXT: ret |
| 13 | +; NOSHA3-SD-LABEL: rax1: |
| 14 | +; NOSHA3-SD: // %bb.0: |
| 15 | +; NOSHA3-SD-NEXT: add v2.2d, v1.2d, v1.2d |
| 16 | +; NOSHA3-SD-NEXT: usra v2.2d, v1.2d, #63 |
| 17 | +; NOSHA3-SD-NEXT: eor v0.16b, v0.16b, v2.16b |
| 18 | +; NOSHA3-SD-NEXT: ret |
| 19 | +; |
| 20 | +; SHA3-GI-LABEL: rax1: |
| 21 | +; SHA3-GI: // %bb.0: |
| 22 | +; SHA3-GI-NEXT: shl v2.2d, v1.2d, #1 |
| 23 | +; SHA3-GI-NEXT: ushr v1.2d, v1.2d, #63 |
| 24 | +; SHA3-GI-NEXT: orr v1.16b, v2.16b, v1.16b |
| 25 | +; SHA3-GI-NEXT: eor v0.16b, v0.16b, v1.16b |
| 26 | +; SHA3-GI-NEXT: ret |
| 27 | +; |
| 28 | +; NOSHA3-GI-LABEL: rax1: |
| 29 | +; NOSHA3-GI: // %bb.0: |
| 30 | +; NOSHA3-GI-NEXT: shl v2.2d, v1.2d, #1 |
| 31 | +; NOSHA3-GI-NEXT: ushr v1.2d, v1.2d, #63 |
| 32 | +; NOSHA3-GI-NEXT: orr v1.16b, v2.16b, v1.16b |
| 33 | +; NOSHA3-GI-NEXT: eor v0.16b, v0.16b, v1.16b |
| 34 | +; NOSHA3-GI-NEXT: ret |
17 | 35 | %a = call <2 x i64> @llvm.fshl.v2i64(<2 x i64> %y, <2 x i64> %y, <2 x i64> <i64 1, i64 1>) |
18 | 36 | %b = xor <2 x i64> %x, %a |
19 | 37 | ret <2 x i64> %b |
20 | 38 | } |
21 | 39 |
|
22 | 40 | declare <2 x i64> @llvm.fshl.v2i64(<2 x i64>, <2 x i64>, <2 x i64>) |
| 41 | + |
| 42 | +;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line: |
| 43 | +; NOSHA3: {{.*}} |
| 44 | +; SHA3: {{.*}} |
0 commit comments