; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s

declare i32 @llvm.r600.read.tidig.x() #0

; GCN-LABEL: {{^}}v_test_smed3_r_i_i_i32:
; GCN: v_med3_i32 v{{[0-9]+}}, v{{[0-9]+}}, 12, 17
define void @v_test_smed3_r_i_i_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %aptr) #1 {
  %tid = call i32 @llvm.r600.read.tidig.x()
  %gep0 = getelementptr i32, i32 addrspace(1)* %aptr, i32 %tid
  %outgep = getelementptr i32, i32 addrspace(1)* %out, i32 %tid
  %a = load i32, i32 addrspace(1)* %gep0

  %icmp0 = icmp sgt i32 %a, 12
  %i0 = select i1 %icmp0, i32 %a, i32 12

  %icmp1 = icmp slt i32 %i0, 17
  %i1 = select i1 %icmp1, i32 %i0, i32 17

  store i32 %i1, i32 addrspace(1)* %outgep
  ret void
}

; GCN-LABEL: {{^}}v_test_smed3_multi_use_r_i_i_i32:
; GCN: v_max_i32
; GCN: v_min_i32
define void @v_test_smed3_multi_use_r_i_i_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %aptr) #1 {
  %tid = call i32 @llvm.r600.read.tidig.x()
  %gep0 = getelementptr i32, i32 addrspace(1)* %aptr, i32 %tid
  %outgep = getelementptr i32, i32 addrspace(1)* %out, i32 %tid
  %a = load i32, i32 addrspace(1)* %gep0

  %icmp0 = icmp sgt i32 %a, 12
  %i0 = select i1 %icmp0, i32 %a, i32 12

  %icmp1 = icmp slt i32 %i0, 17
  %i1 = select i1 %icmp1, i32 %i0, i32 17

  store volatile i32 %i0, i32 addrspace(1)* %outgep
  store volatile i32 %i1, i32 addrspace(1)* %outgep
  ret void
}

; GCN-LABEL: {{^}}v_test_smed3_r_i_i_constant_order_i32:
; GCN: v_max_i32_e32 v{{[0-9]+}}, 17, v{{[0-9]+}}
; GCN: v_min_i32_e32 v{{[0-9]+}}, 12, v{{[0-9]+}}
define void @v_test_smed3_r_i_i_constant_order_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %aptr) #1 {
  %tid = call i32 @llvm.r600.read.tidig.x()
  %gep0 = getelementptr i32, i32 addrspace(1)* %aptr, i32 %tid
  %outgep = getelementptr i32, i32 addrspace(1)* %out, i32 %tid
  %a = load i32, i32 addrspace(1)* %gep0

  %icmp0 = icmp sgt i32 %a, 17
  %i0 = select i1 %icmp0, i32 %a, i32 17

  %icmp1 = icmp slt i32 %i0, 12
  %i1 = select i1 %icmp1, i32 %i0, i32 12

  store i32 %i1, i32 addrspace(1)* %outgep
  ret void
}

; GCN-LABEL: {{^}}v_test_smed3_r_i_i_sign_mismatch_i32:
; GCN: v_max_u32_e32 v{{[0-9]+}}, 12, v{{[0-9]+}}
; GCN: v_min_i32_e32 v{{[0-9]+}}, 17, v{{[0-9]+}}
define void @v_test_smed3_r_i_i_sign_mismatch_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %aptr) #1 {
  %tid = call i32 @llvm.r600.read.tidig.x()
  %gep0 = getelementptr i32, i32 addrspace(1)* %aptr, i32 %tid
  %outgep = getelementptr i32, i32 addrspace(1)* %out, i32 %tid
  %a = load i32, i32 addrspace(1)* %gep0

  %icmp0 = icmp ugt i32 %a, 12
  %i0 = select i1 %icmp0, i32 %a, i32 12

  %icmp1 = icmp slt i32 %i0, 17
  %i1 = select i1 %icmp1, i32 %i0, i32 17

  store i32 %i1, i32 addrspace(1)* %outgep
  ret void
}

; GCN-LABEL: {{^}}v_test_smed3_r_i_i_i64:
; GCN: v_cmp_lt_i64
; GCN: v_cmp_gt_i64
define void @v_test_smed3_r_i_i_i64(i64 addrspace(1)* %out, i64 addrspace(1)* %aptr) #1 {
  %tid = call i32 @llvm.r600.read.tidig.x()
  %gep0 = getelementptr i64, i64 addrspace(1)* %aptr, i32 %tid
  %outgep = getelementptr i64, i64 addrspace(1)* %out, i32 %tid
  %a = load i64, i64 addrspace(1)* %gep0

  %icmp0 = icmp sgt i64 %a, 12
  %i0 = select i1 %icmp0, i64 %a, i64 12

  %icmp1 = icmp slt i64 %i0, 17
  %i1 = select i1 %icmp1, i64 %i0, i64 17

  store i64 %i1, i64 addrspace(1)* %outgep
  ret void
}

; GCN-LABEL: {{^}}v_test_smed3_r_i_i_i16:
; GCN: v_med3_i32 v{{[0-9]+}}, v{{[0-9]+}}, 12, 17
define void @v_test_smed3_r_i_i_i16(i16 addrspace(1)* %out, i16 addrspace(1)* %aptr) #1 {
  %tid = call i32 @llvm.r600.read.tidig.x()
  %gep0 = getelementptr i16, i16 addrspace(1)* %aptr, i32 %tid
  %outgep = getelementptr i16, i16 addrspace(1)* %out, i32 %tid
  %a = load i16, i16 addrspace(1)* %gep0

  %icmp0 = icmp sgt i16 %a, 12
  %i0 = select i1 %icmp0, i16 %a, i16 12

  %icmp1 = icmp slt i16 %i0, 17
  %i1 = select i1 %icmp1, i16 %i0, i16 17

  store i16 %i1, i16 addrspace(1)* %outgep
  ret void
}


define internal i32 @smin(i32 %x, i32 %y) #2 {
  %cmp = icmp slt i32 %x, %y
  %sel = select i1 %cmp, i32 %x, i32 %y
  ret i32 %sel
}

define internal i32 @smax(i32 %x, i32 %y) #2 {
  %cmp = icmp sgt i32 %x, %y
  %sel = select i1 %cmp, i32 %x, i32 %y
  ret i32 %sel
}

define internal i16 @smin16(i16 %x, i16 %y) #2 {
  %cmp = icmp slt i16 %x, %y
  %sel = select i1 %cmp, i16 %x, i16 %y
  ret i16 %sel
}

define internal i16 @smax16(i16 %x, i16 %y) #2 {
  %cmp = icmp sgt i16 %x, %y
  %sel = select i1 %cmp, i16 %x, i16 %y
  ret i16 %sel
}

define internal i8 @smin8(i8 %x, i8 %y) #2 {
  %cmp = icmp slt i8 %x, %y
  %sel = select i1 %cmp, i8 %x, i8 %y
  ret i8 %sel
}

define internal i8 @smax8(i8 %x, i8 %y) #2 {
  %cmp = icmp sgt i8 %x, %y
  %sel = select i1 %cmp, i8 %x, i8 %y
  ret i8 %sel
}

; 16 combinations

; 0: max(min(x, y), min(max(x, y), z))
; 1: max(min(x, y), min(max(y, x), z))
; 2: max(min(x, y), min(z, max(x, y)))
; 3: max(min(x, y), min(z, max(y, x)))
; 4: max(min(y, x), min(max(x, y), z))
; 5: max(min(y, x), min(max(y, x), z))
; 6: max(min(y, x), min(z, max(x, y)))
; 7: max(min(y, x), min(z, max(y, x)))
;
; + commute outermost max


; FIXME: In these cases we probably should have used scalar operations
; instead.

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_0:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_0(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_1:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_1(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_2:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_2(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_3:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_3(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_4:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_4(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_5:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_5(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_6:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_6(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_7:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_7(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_8:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_8(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_9:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_9(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_10:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_10(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_11:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_11(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_12:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_12(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_13:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_13(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_14:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_14(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_15:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_15(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %y, i32 %x)
  %tmp1 = call i32 @smax(i32 %y, i32 %x)
  %tmp2 = call i32 @smin(i32 %z, i32 %tmp1)
  %tmp3 = call i32 @smax(i32 %tmp2, i32 %tmp0)
  store i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i16_pat_0:
; GCN: s_sext_i32_i16
; GCN: s_sext_i32_i16
; GCN: s_sext_i32_i16
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i16_pat_0(i16 addrspace(1)* %arg, i16 %x, i16 %y, i16 %z) #1 {
bb:
  %tmp0 = call i16 @smin16(i16 %x, i16 %y)
  %tmp1 = call i16 @smax16(i16 %x, i16 %y)
  %tmp2 = call i16 @smin16(i16 %tmp1, i16 %z)
  %tmp3 = call i16 @smax16(i16 %tmp0, i16 %tmp2)
  store i16 %tmp3, i16 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i8_pat_0:
; GCN: s_sext_i32_i8
; GCN: s_sext_i32_i8
; GCN: s_sext_i32_i8
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i8_pat_0(i8 addrspace(1)* %arg, i8 %x, i8 %y, i8 %z) #1 {
bb:
  %tmp0 = call i8 @smin8(i8 %x, i8 %y)
  %tmp1 = call i8 @smax8(i8 %x, i8 %y)
  %tmp2 = call i8 @smin8(i8 %tmp1, i8 %z)
  %tmp3 = call i8 @smax8(i8 %tmp0, i8 %tmp2)
  store i8 %tmp3, i8 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_0_multi_use_0:
; GCN-NOT: v_med3_i32
define void @s_test_smed3_i32_pat_0_multi_use_0(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store volatile i32 %tmp0, i32 addrspace(1)* %arg
  store volatile i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_0_multi_use_1:
; GCN-NOT: v_med3_i32
define void @s_test_smed3_i32_pat_0_multi_use_1(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store volatile i32 %tmp1, i32 addrspace(1)* %arg
  store volatile i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_0_multi_use_2:
; GCN-NOT: v_med3_i32
define void @s_test_smed3_i32_pat_0_multi_use_2(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store volatile i32 %tmp2, i32 addrspace(1)* %arg
  store volatile i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

; GCN-LABEL: {{^}}s_test_smed3_i32_pat_0_multi_use_result:
; GCN: v_med3_i32 v{{[0-9]+}}, s{{[0-9]+}}, v{{[0-9]+}}, v{{[0-9]+}}
define void @s_test_smed3_i32_pat_0_multi_use_result(i32 addrspace(1)* %arg, i32 %x, i32 %y, i32 %z) #1 {
bb:
  %tmp0 = call i32 @smin(i32 %x, i32 %y)
  %tmp1 = call i32 @smax(i32 %x, i32 %y)
  %tmp2 = call i32 @smin(i32 %tmp1, i32 %z)
  %tmp3 = call i32 @smax(i32 %tmp0, i32 %tmp2)
  store volatile i32 %tmp3, i32 addrspace(1)* %arg
  store volatile i32 %tmp3, i32 addrspace(1)* %arg
  ret void
}

attributes #0 = { nounwind readnone }
attributes #1 = { nounwind }
attributes #2 = { nounwind readnone alwaysinline }
