; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5

; RUN: opt -passes=instsimplify -S < %s | FileCheck %s

; Test that intrinsics wasm dot call are constant folded

target triple = "wasm32-unknown-unknown"


define <4 x i32> @dot_zero() {
; CHECK-LABEL: define <4 x i32> @dot_zero() {
; CHECK-NEXT:    ret <4 x i32> zeroinitializer
;
  %res = tail call <4 x i32> @llvm.wasm.dot(<8 x i16> zeroinitializer, <8 x i16> zeroinitializer)
  ret <4 x i32> %res
}

; a               =   1    2    3    4    5    6    7    8
; b               =   1    2    3    4    5    6    7    8
; k1|k2 = a * b   =   1    4    9   16   25   36   49   64
; k1 + k2         =   (1+4) |  (9 + 16) | (25 + 36)  | (49 + 64)
; result          =    5    |   25    |   61    |   113
define <4 x i32> @dot_nonzero() {
; CHECK-LABEL: define <4 x i32> @dot_nonzero() {
; CHECK-NEXT:    ret <4 x i32> <i32 5, i32 25, i32 61, i32 113>
;
  %res = tail call <4 x i32> @llvm.wasm.dot(<8 x i16> <i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8>, <8 x i16> <i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8>)
  ret <4 x i32> %res
}

define <4 x i32> @dot_one_negative() {
; CHECK-LABEL: define <4 x i32> @dot_one_negative() {
; CHECK-NEXT:    ret <4 x i32> splat (i32 -2)
;
  %res = tail call <4 x i32> @llvm.wasm.dot(<8 x i16> splat (i16 1), <8 x i16> splat (i16 -1))
  ret <4 x i32> %res
}

define <4 x i32> @dot_doubly_negative() {
; CHECK-LABEL: define <4 x i32> @dot_doubly_negative() {
; CHECK-NEXT:    ret <4 x i32> splat (i32 2)
;
  %res = tail call <4 x i32> @llvm.wasm.dot(<8 x i16> <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>, <8 x i16> <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>)
  ret <4 x i32> %res
}

; Tests that i16 max signed values fit in i32
define <4 x i32> @dot_follow_modulo_spec_1() {
; CHECK-LABEL: define <4 x i32> @dot_follow_modulo_spec_1() {
; CHECK-NEXT:    ret <4 x i32> <i32 2147352578, i32 0, i32 0, i32 0>
;
  %res = tail call <4 x i32> @llvm.wasm.dot(<8 x i16> <i16 32767, i16 32767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0>, <8 x i16> <i16 32767, i16 32767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0>)
  ret <4 x i32> %res
}

; Tests that i16 min signed values fit in i32
define <4 x i32> @dot_follow_modulo_spec_2() {
; CHECK-LABEL: define <4 x i32> @dot_follow_modulo_spec_2() {
; CHECK-NEXT:    ret <4 x i32> <i32 -2147483648, i32 0, i32 0, i32 0>
;
  %res = tail call <4 x i32> @llvm.wasm.dot(<8 x i16> <i16 -32768, i16 -32768, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0>, <8 x i16> <i16 -32768, i16 -32768, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0>)
  ret <4 x i32> %res
}

