Home | History | Annotate | Download | only in ExecutionEngine
      1 ; RUN: %lli -force-interpreter=true %s > /dev/null
      2 
      3 define i32 @main() {
      4 
      5   ; Vector values
      6   %a2_i8 = add <2 x i8> zeroinitializer, <i8 0, i8 1>
      7   %a3_i8 = add <3 x i8> zeroinitializer, <i8 0, i8 1, i8 2>
      8   %a4_i8 = add <4 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3>
      9   %a8_i8 = add <8 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7>
     10   %a16_i8 = add <16 x i8> zeroinitializer, <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>
     11 
     12   %a2_i16 = add <2 x i16> zeroinitializer, <i16 0, i16 1>
     13   %a3_i16 = add <3 x i16> zeroinitializer, <i16 0, i16 1, i16 2>
     14   %a4_i16 = add <4 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3>
     15   %a8_i16 = add <8 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>
     16   %a16_i16 = add <16 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15>
     17 
     18   %a2_i32 = add <2 x i32> zeroinitializer, <i32 0, i32 1>
     19   %a3_i32 = add <3 x i32> zeroinitializer, <i32 0, i32 1, i32 2>
     20   %a4_i32 = add <4 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3>
     21   %a8_i32 = add <8 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
     22   %a16_i32 = add <16 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
     23 
     24   %a2_i64 = add <2 x i64> zeroinitializer, <i64 0, i64 1>
     25   %a3_i64 = add <3 x i64> zeroinitializer, <i64 0, i64 1, i64 2>
     26   %a4_i64 = add <4 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3>
     27   %a8_i64 = add <8 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7>
     28   %a16_i64 = add <16 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15>
     29 
     30   %a2_float = fadd <2 x float> zeroinitializer, <float 0.0, float 1.0>
     31   %a3_float = fadd <3 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0>
     32   %a4_float = fadd <4 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0>
     33   %a8_float = fadd <8 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, float 6.0, float 7.0>
     34   %a16_float = fadd <16 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, float 11.0, float 12.0, float 13.0, float 14.0, float 15.0>
     35 
     36   %a2_double = fadd <2 x double> zeroinitializer, <double 0.0, double 1.0>
     37   %a3_double = fadd <3 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0>
     38   %a4_double = fadd <4 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0>
     39   %a8_double = fadd <8 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0, double 4.0, double 5.0, double 6.0, double 7.0>
     40   %a16_double = fadd <16 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0, double 4.0, double 5.0, double 6.0, double 7.0, double 8.0, double 9.0, double 10.0, double 11.0, double 12.0, double 13.0, double 14.0, double 15.0>
     41 
     42   %b2_i8  = sub <2 x i8> zeroinitializer, %a2_i8
     43   %b3_i8  = sub <3 x i8> zeroinitializer, %a3_i8
     44   %b4_i8  = sub <4 x i8> zeroinitializer, %a4_i8
     45   %b8_i8  = sub <8 x i8> zeroinitializer, %a8_i8
     46   %b16_i8 = sub <16 x i8> zeroinitializer, %a16_i8
     47 
     48   %b2_i16  = sub <2 x i16> zeroinitializer, %a2_i16
     49   %b3_i16  = sub <3 x i16> zeroinitializer, %a3_i16
     50   %b4_i16  = sub <4 x i16> zeroinitializer, %a4_i16
     51   %b8_i16  = sub <8 x i16> zeroinitializer, %a8_i16
     52   %b16_i16 = sub <16 x i16> zeroinitializer, %a16_i16
     53 
     54   %b2_i32  = sub <2 x i32> zeroinitializer, %a2_i32
     55   %b3_i32  = sub <3 x i32> zeroinitializer, %a3_i32
     56   %b4_i32  = sub <4 x i32> zeroinitializer, %a4_i32
     57   %b8_i32  = sub <8 x i32> zeroinitializer, %a8_i32
     58   %b16_i32 = sub <16 x i32> zeroinitializer, %a16_i32
     59 
     60   %b2_i64  = sub <2 x i64> zeroinitializer, %a2_i64
     61   %b3_i64  = sub <3 x i64> zeroinitializer, %a3_i64
     62   %b4_i64  = sub <4 x i64> zeroinitializer, %a4_i64
     63   %b8_i64  = sub <8 x i64> zeroinitializer, %a8_i64
     64   %b16_i64 = sub <16 x i64> zeroinitializer, %a16_i64
     65 
     66   %b2_float  = fsub <2 x float> zeroinitializer, %a2_float
     67   %b3_float  = fsub <3 x float> zeroinitializer, %a3_float
     68   %b4_float  = fsub <4 x float> zeroinitializer, %a4_float
     69   %b8_float  = fsub <8 x float> zeroinitializer, %a8_float
     70   %b16_float = fsub <16 x float> zeroinitializer, %a16_float
     71 
     72   %b2_double  = fsub <2 x double> zeroinitializer, %a2_double
     73   %b3_double  = fsub <3 x double> zeroinitializer, %a3_double
     74   %b4_double  = fsub <4 x double> zeroinitializer, %a4_double
     75   %b8_double  = fsub <8 x double> zeroinitializer, %a8_double
     76   %b16_double = fsub <16 x double> zeroinitializer, %a16_double
     77 
     78 
     79 
     80   %v0 = select <2 x i1> <i1 true, i1 false>, <2 x i8> %a2_i8, <2 x i8> %b2_i8
     81   %v1 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i8> %a3_i8, <3 x i8> %b3_i8
     82   %v2 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i8> %a4_i8, <4 x i8> %b4_i8
     83   %v3 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i8> %a8_i8, <8 x i8> %b8_i8
     84   %v4 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i8> %a16_i8, <16 x i8> %b16_i8
     85 
     86   %v5 = select <2 x i1> <i1 true, i1 false>, <2 x i16> %a2_i16, <2 x i16> %b2_i16
     87   %v6 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i16> %a3_i16, <3 x i16> %b3_i16
     88   %v7 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i16> %a4_i16, <4 x i16> %b4_i16
     89   %v8 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i16> %a8_i16, <8 x i16> %b8_i16
     90   %v9 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i16> %a16_i16, <16 x i16> %b16_i16
     91 
     92   %v10 = select <2 x i1> <i1 true, i1 false>, <2 x i32> %a2_i32, <2 x i32> %b2_i32
     93   %v11 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i32> %a3_i32, <3 x i32> %b3_i32
     94   %v12 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> %a4_i32, <4 x i32> %b4_i32
     95   %v13 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i32> %a8_i32, <8 x i32> %b8_i32
     96   %v14 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i32> %a16_i32, <16 x i32> %b16_i32
     97 
     98   %v15 = select <2 x i1> <i1 true, i1 false>, <2 x i64> %a2_i64, <2 x i64> %b2_i64
     99   %v16 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i64> %a3_i64, <3 x i64> %b3_i64
    100   %v17 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i64> %a4_i64, <4 x i64> %b4_i64
    101   %v18 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i64> %a8_i64, <8 x i64> %b8_i64
    102   %v19 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i64> %a16_i64, <16 x i64> %b16_i64
    103 
    104   %v20 = select <2 x i1> <i1 true, i1 false>, <2 x float> %a2_float, <2 x float> %b2_float
    105   %v21 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x float> %a3_float, <3 x float> %b3_float
    106   %v22 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x float> %a4_float, <4 x float> %b4_float
    107   %v23 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x float> %a8_float, <8 x float> %b8_float
    108   %v24 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x float> %a16_float, <16 x float> %b16_float
    109 
    110   %v25 = select <2 x i1> <i1 true, i1 false>, <2 x double> %a2_double, <2 x double> %b2_double
    111   %v26 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x double> %a3_double, <3 x double> %b3_double
    112   %v27 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x double> %a4_double, <4 x double> %b4_double
    113   %v28 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x double> %a8_double, <8 x double> %b8_double
    114   %v29 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x double> %a16_double, <16 x double> %b16_double
    115 
    116 
    117   ret i32 0
    118 }
    119