; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -passes=instsimplify -S | FileCheck %s

;-----------------------------------------------------------------------------
; Simple test using scalar layout.
;-----------------------------------------------------------------------------

declare i32 @llvm.smul.fix.i32(i32, i32, i32)

define i32 @test_smul_fix_i32_0() {
; CHECK-LABEL: @test_smul_fix_i32_0(
; CHECK-NEXT:    ret i32 536870912
;
  %r = call i32 @llvm.smul.fix.i32(i32 1073741824, i32 1073741824, i32 31) ; 0.5 * 0.5
  ret i32 %r
}

define i32 @test_smul_fix_i32_undef_x() {
; CHECK-LABEL: @test_smul_fix_i32_undef_x(
; CHECK-NEXT:    ret i32 0
;
  %r = call i32 @llvm.smul.fix.i32(i32 undef, i32 1073741824, i32 31) ; undef * 0.5
  ret i32 %r
}

define i32 @test_smul_fix_i32_x_undef() {
; CHECK-LABEL: @test_smul_fix_i32_x_undef(
; CHECK-NEXT:    ret i32 0
;
  %r = call i32 @llvm.smul.fix.i32(i32 1073741824, i32 undef, i32 31)
  ret i32 %r
}


;-----------------------------------------------------------------------------
; More extensive tests based on vectors (basically using the scalar fold
; for each index).
;-----------------------------------------------------------------------------

declare <8 x i3> @llvm.smul.fix.v8i3(<8 x i3>, <8 x i3>, i32)

define <8 x i3> @test_smul_fix_v8i3_0() {
; CHECK-LABEL: @test_smul_fix_v8i3_0(
; CHECK-NEXT:    ret <8 x i3> <i3 0, i3 -4, i3 0, i3 -4, i3 0, i3 -4, i3 0, i3 -4>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4>,
  i32 0)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_1() {
; CHECK-LABEL: @test_smul_fix_v8i3_1(
; CHECK-NEXT:    ret <8 x i3> <i3 0, i3 -2, i3 -4, i3 2, i3 0, i3 -2, i3 -4, i3 2>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4>,
  i32 1)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_2() {
; CHECK-LABEL: @test_smul_fix_v8i3_2(
; CHECK-NEXT:    ret <8 x i3> <i3 -4, i3 3, i3 2, i3 1, i3 0, i3 -1, i3 -2, i3 -3>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4, i3 -4>,
  i32 2)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_3() {
; CHECK-LABEL: @test_smul_fix_v8i3_3(
; CHECK-NEXT:    ret <8 x i3> <i3 -4, i3 3, i3 2, i3 1, i3 0, i3 -1, i3 -2, i3 -3>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1>,
  i32 0)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_4() {
; CHECK-LABEL: @test_smul_fix_v8i3_4(
; CHECK-NEXT:    ret <8 x i3> <i3 2, i3 1, i3 1, i3 0, i3 0, i3 -1, i3 -1, i3 -2>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1>,
  i32 1)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_5() {
; CHECK-LABEL: @test_smul_fix_v8i3_5(
; CHECK-NEXT:    ret <8 x i3> <i3 1, i3 0, i3 0, i3 0, i3 0, i3 -1, i3 -1, i3 -1>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1, i3 -1>,
  i32 2)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_6() {
; CHECK-LABEL: @test_smul_fix_v8i3_6(
; CHECK-NEXT:    ret <8 x i3> <i3 -4, i3 -1, i3 2, i3 -3, i3 0, i3 3, i3 -2, i3 1>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 3, i3 3, i3 3, i3 3, i3 3, i3 3, i3 3, i3 3>,
  i32 0)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_7() {
; CHECK-LABEL: @test_smul_fix_v8i3_7(
; CHECK-NEXT:    ret <8 x i3> <i3 2, i3 3, i3 -3, i3 -2, i3 0, i3 1, i3 3, i3 -4>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 3, i3 3, i3 3, i3 3, i3 3, i3 3, i3 3, i3 3>,
  i32 1)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_8() {
; CHECK-LABEL: @test_smul_fix_v8i3_8(
; CHECK-NEXT:    ret <8 x i3> <i3 -3, i3 -3, i3 -2, i3 -1, i3 0, i3 0, i3 1, i3 2>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 -4, i3 -3, i3 -2, i3 -1, i3 0, i3 1, i3 2, i3 3>,
  <8 x i3> <i3 3, i3 3, i3 3, i3 3, i3 3, i3 3, i3 3, i3 3>,
  i32 2)
  ret <8 x i3> %r
}

define <8 x i3> @test_smul_fix_v8i3_9() {
; CHECK-LABEL: @test_smul_fix_v8i3_9(
; CHECK-NEXT:    ret <8 x i3> <i3 0, i3 0, i3 poison, i3 poison, i3 1, i3 1, i3 1, i3 1>
;
  %r = call <8 x i3> @llvm.smul.fix.v8i3(
  <8 x i3> <i3 2, i3 undef, i3 2, i3 poison, i3 2, i3 2, i3 2, i3 2>,
  <8 x i3> <i3 undef, i3 2, i3 poison, i3 2, i3 2, i3 2, i3 2, i3 2>,
  i32 2)
  ret <8 x i3> %r
}
