xref: /aosp_15_r20/external/llvm/test/CodeGen/Mips/msa/endian.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mips -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=BIGENDIAN %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s | FileCheck -check-prefix=LITENDIAN %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker@v16i8 = global <16 x i8> <i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>
5*9880d681SAndroid Build Coastguard Worker@v8i16 = global <8 x i16> <i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0>
6*9880d681SAndroid Build Coastguard Worker@v4i32 = global <4 x i32> <i32 0, i32 0, i32 0, i32 0>
7*9880d681SAndroid Build Coastguard Worker@v2i64 = global <2 x i64> <i64 0, i64 0>
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine void @const_v16i8() nounwind {
10*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 0
11*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 1
12*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 2
13*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 3
14*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 4
15*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 5
16*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 6
17*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 7
18*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 8
19*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 9
20*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 10
21*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 11
22*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 12
23*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 13
24*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 14
25*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .byte 15
26*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: const_v16i8:
27*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 0
28*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 1
29*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 2
30*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 3
31*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 4
32*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 5
33*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 6
34*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 7
35*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 8
36*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 9
37*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 10
38*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 11
39*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 12
40*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 13
41*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 14
42*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .byte 15
43*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: const_v16i8:
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Worker  store volatile <16 x i8> <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>, <16 x i8>*@v16i8
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker  ret void
48*9880d681SAndroid Build Coastguard Worker}
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Workerdefine void @const_v8i16() nounwind {
51*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 0
52*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 1
53*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 2
54*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 3
55*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 4
56*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 5
57*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 6
58*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .2byte 7
59*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: const_v8i16:
60*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 0
61*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 1
62*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 2
63*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 3
64*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 4
65*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 5
66*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 6
67*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .2byte 7
68*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: const_v8i16:
69*9880d681SAndroid Build Coastguard Worker
70*9880d681SAndroid Build Coastguard Worker  store volatile <8 x i16> <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>, <8 x i16>*@v8i16
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Worker  ret void
73*9880d681SAndroid Build Coastguard Worker}
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Workerdefine void @const_v4i32() nounwind {
76*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 0
77*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 1
78*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 2
79*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 3
80*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: const_v4i32:
81*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 0
82*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 1
83*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 2
84*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 3
85*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: const_v4i32:
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Worker  store volatile <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32>*@v4i32
88*9880d681SAndroid Build Coastguard Worker
89*9880d681SAndroid Build Coastguard Worker  ret void
90*9880d681SAndroid Build Coastguard Worker}
91*9880d681SAndroid Build Coastguard Worker
92*9880d681SAndroid Build Coastguard Workerdefine void @const_v2i64() nounwind {
93*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 1
94*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 0
95*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 2
96*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: .4byte 0
97*9880d681SAndroid Build Coastguard Worker  ; LITENDIAN: const_v2i64:
98*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 0
99*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 1
100*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 0
101*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: .4byte 2
102*9880d681SAndroid Build Coastguard Worker  ; BIGENDIAN: const_v2i64:
103*9880d681SAndroid Build Coastguard Worker
104*9880d681SAndroid Build Coastguard Worker  store volatile <2 x i64> <i64 1, i64 2>, <2 x i64>*@v2i64
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard Worker  ret void
107*9880d681SAndroid Build Coastguard Worker}
108