   }
 }
 
-// CHECK-LABEL: define hidden double @_TF8test_v7k10testMultiP{{.*}}(i64, i2)
-// CHECK: [[ID:%[0-9]+]] = trunc i64 %0 to i32
-// CHECK: bitcast i64 %0 to double
+// CHECK-LABEL: define hidden double @_TF8test_v7k10testMultiP{{.*}}(i32, i32, i2)
+// CHECK: [[FIRST:%[0-9]+]] = zext i32 %0 to i64
+// CHECK: [[SECOND:%[0-9]+]] = zext i32 %1 to i64
+// CHECK: [[TEMP:%[0-9]+]] = shl i64 [[SECOND]], 32
+// CHECK: [[RESULT:%[0-9]+]] = or i64 [[FIRST]], [[TEMP]]
+// CHECK: bitcast i64 [[RESULT]] to double
 // CHECK: sitofp i32 {{.*}} to double 
 // CHECK: phi double [ 0.000000e+00, {{.*}} ]
 // CHECK: ret double

}

// Returning tuple?: (Int x 6)?
// CHECK-LABEL: define hidden { i192, i1 } @_TF8test_v7k7minMax2{{.*}}(i32, i32)
// V7K-LABEL: __TF8test_v7k7minMax2
// We will indirectly return {i192, i1} with the address in r0, input parameters will be in r1 and r2
// V7K: cmp r1, r2
// V7K: str r0, [sp, [[IDX:#[0-9]+]]]
// V7K: ldr [[R0_RELOAD:r[0-9]+]], [sp, [[IDX]]]
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]]]
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]], #4]
// V7K: and {{.*}}, {{.*}}, #1
// V7K: strb {{.*}}, [{{.*}}[[R0_RELOAD]], #24]
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]], #8]
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]], #12]
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]], #16]
// V7K: str {{.*}}, [{{.*}}[[R0_RELOAD]], #20]
func minMax2(x : Int, y : Int) -> (min: Int, max: Int, min2: Int, max2: Int, min3: Int, max3: Int)? {
    if x == y {
      return nil


// layout of the enum: the tag bit is set for the no-data cases, which are then
// assigned values in the data area of the enum in declaration order
// CHECK-LABEL: define hidden double @_TF8test_v7k11testSingleP{{.*}}(i32, i32, i1)
// CHECK: br i1
// CHECK: switch i32 [[ID:%[0-9]+]]
// CHECK: [[FIRST:%[0-9]+]] = zext i32 %0 to i64
// CHECK: [[SECOND:%[0-9]+]] = zext i32 %1 to i64
// CHECK: [[TEMP:%[0-9]+]] = shl i64 [[SECOND]], 32
// CHECK: [[RESULT:%[0-9]+]] = or i64 [[FIRST]], [[TEMP]]
// CHECK: bitcast i64 [[RESULT]] to double
// CHECK: phi double [ 0.000000e+00, {{.*}} ]
// V7K-LABEL: __TF8test_v7k11testSingleP
// V7K: tst     r2, #1
