Krzysztof Parzyszek | 046090d | 2018-03-12 14:01:28 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=hexagon < %s | FileCheck %s |
Krzysztof Parzyszek | 3d67124 | 2018-06-12 12:49:36 +0000 | [diff] [blame] | 2 | ; CHECK: rol |
Krzysztof Parzyszek | 046090d | 2018-03-12 14:01:28 +0000 | [diff] [blame] | 3 | |
| 4 | ; Function Attrs: nounwind |
Krzysztof Parzyszek | d91a9e2 | 2018-08-02 22:17:53 +0000 | [diff] [blame] | 5 | define fastcc void @f0(i64* %a0) #0 { |
| 6 | b0: ; preds = %b3, %b2 |
| 7 | %v0 = load i64, i64* %a0, align 8, !tbaa !0 |
Krzysztof Parzyszek | 046090d | 2018-03-12 14:01:28 +0000 | [diff] [blame] | 8 | %v1 = lshr i64 %v0, 8 |
| 9 | %v2 = shl i64 %v0, 56 |
| 10 | %v3 = or i64 %v2, %v1 |
| 11 | %v4 = xor i64 %v3, 0 |
| 12 | %v5 = xor i64 %v4, 0 |
| 13 | %v6 = add i64 0, %v5 |
Krzysztof Parzyszek | d91a9e2 | 2018-08-02 22:17:53 +0000 | [diff] [blame] | 14 | store i64 %v6, i64* %a0, align 8, !tbaa !0 |
| 15 | ret void |
Krzysztof Parzyszek | 046090d | 2018-03-12 14:01:28 +0000 | [diff] [blame] | 16 | } |
| 17 | |
Krzysztof Parzyszek | 3d67124 | 2018-06-12 12:49:36 +0000 | [diff] [blame] | 18 | attributes #0 = { nounwind "target-cpu"="hexagonv60" } |
Krzysztof Parzyszek | 046090d | 2018-03-12 14:01:28 +0000 | [diff] [blame] | 19 | |
| 20 | !0 = !{!1, !1, i64 0} |
| 21 | !1 = !{!"long long", !2} |
| 22 | !2 = !{!"omnipotent char", !3} |
| 23 | !3 = !{!"Simple C/C++ TBAA"} |