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