// Code generated by 'go run genfiles.go'; DO NOT EDIT.

//go:build goexperiment.simd

package archsimd

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX
func ( Int8x16) ( Int8x16) Mask8x16 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX
func ( Int8x16) ( Int8x16) Mask8x16 {
	 := .Equal().ToInt8x16()
	return .Greater().ToInt8x16().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX
func ( Int8x16) ( Int8x16) Mask8x16 {
	 := .Equal().ToInt8x16()
	return .Greater().ToInt8x16().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Int8x16) ( Int8x16) Mask8x16 {
	 := .Equal().ToInt8x16()
	return .Equal().ToInt8x16().Xor().asMask()
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX
func ( Int16x8) ( Int16x8) Mask16x8 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX
func ( Int16x8) ( Int16x8) Mask16x8 {
	 := .Equal().ToInt16x8()
	return .Greater().ToInt16x8().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX
func ( Int16x8) ( Int16x8) Mask16x8 {
	 := .Equal().ToInt16x8()
	return .Greater().ToInt16x8().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Int16x8) ( Int16x8) Mask16x8 {
	 := .Equal().ToInt16x8()
	return .Equal().ToInt16x8().Xor().asMask()
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX
func ( Int32x4) ( Int32x4) Mask32x4 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX
func ( Int32x4) ( Int32x4) Mask32x4 {
	 := .Equal().ToInt32x4()
	return .Greater().ToInt32x4().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX
func ( Int32x4) ( Int32x4) Mask32x4 {
	 := .Equal().ToInt32x4()
	return .Greater().ToInt32x4().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Int32x4) ( Int32x4) Mask32x4 {
	 := .Equal().ToInt32x4()
	return .Equal().ToInt32x4().Xor().asMask()
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX
func ( Int64x2) ( Int64x2) Mask64x2 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX
func ( Int64x2) ( Int64x2) Mask64x2 {
	 := .Equal().ToInt64x2()
	return .Greater().ToInt64x2().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX
func ( Int64x2) ( Int64x2) Mask64x2 {
	 := .Equal().ToInt64x2()
	return .Greater().ToInt64x2().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Int64x2) ( Int64x2) Mask64x2 {
	 := .Equal().ToInt64x2()
	return .Equal().ToInt64x2().Xor().asMask()
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Int8x32) ( Int8x32) Mask8x32 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Int8x32) ( Int8x32) Mask8x32 {
	 := .Equal().ToInt8x32()
	return .Greater().ToInt8x32().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Int8x32) ( Int8x32) Mask8x32 {
	 := .Equal().ToInt8x32()
	return .Greater().ToInt8x32().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Int8x32) ( Int8x32) Mask8x32 {
	 := .Equal().ToInt8x32()
	return .Equal().ToInt8x32().Xor().asMask()
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Int16x16) ( Int16x16) Mask16x16 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Int16x16) ( Int16x16) Mask16x16 {
	 := .Equal().ToInt16x16()
	return .Greater().ToInt16x16().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Int16x16) ( Int16x16) Mask16x16 {
	 := .Equal().ToInt16x16()
	return .Greater().ToInt16x16().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Int16x16) ( Int16x16) Mask16x16 {
	 := .Equal().ToInt16x16()
	return .Equal().ToInt16x16().Xor().asMask()
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Int32x8) ( Int32x8) Mask32x8 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Int32x8) ( Int32x8) Mask32x8 {
	 := .Equal().ToInt32x8()
	return .Greater().ToInt32x8().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Int32x8) ( Int32x8) Mask32x8 {
	 := .Equal().ToInt32x8()
	return .Greater().ToInt32x8().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Int32x8) ( Int32x8) Mask32x8 {
	 := .Equal().ToInt32x8()
	return .Equal().ToInt32x8().Xor().asMask()
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Int64x4) ( Int64x4) Mask64x4 {
	return .Greater()
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Int64x4) ( Int64x4) Mask64x4 {
	 := .Equal().ToInt64x4()
	return .Greater().ToInt64x4().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Int64x4) ( Int64x4) Mask64x4 {
	 := .Equal().ToInt64x4()
	return .Greater().ToInt64x4().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Int64x4) ( Int64x4) Mask64x4 {
	 := .Equal().ToInt64x4()
	return .Equal().ToInt64x4().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX2
func ( Uint8x16) ( Uint8x16) Mask8x16 {
	,  := .AsInt8x16(), .AsInt8x16()
	 := BroadcastInt8x16(-1 << (8 - 1))
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Uint8x16) ( Uint8x16) Mask8x16 {
	,  := .AsInt8x16(), .AsInt8x16()
	 := BroadcastInt8x16(-1 << (8 - 1))
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Uint8x16) ( Uint8x16) Mask8x16 {
	,  := .AsInt8x16(), .AsInt8x16()
	 := .Equal().ToInt8x16()
	 := BroadcastInt8x16(-1 << (8 - 1))
	return .Xor().Greater(.Xor()).ToInt8x16().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Uint8x16) ( Uint8x16) Mask8x16 {
	,  := .AsInt8x16(), .AsInt8x16()
	 := .Equal().ToInt8x16()
	 := BroadcastInt8x16(-1 << (8 - 1))
	return .Xor().Greater(.Xor()).ToInt8x16().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Uint8x16) ( Uint8x16) Mask8x16 {
	,  := .AsInt8x16(), .AsInt8x16()
	 := .Equal().ToInt8x16()
	return .Equal().ToInt8x16().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX
func ( Uint16x8) ( Uint16x8) Mask16x8 {
	,  := .AsInt16x8(), .AsInt16x8()
	 := .Equal().ToInt16x8()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX
func ( Uint16x8) ( Uint16x8) Mask16x8 {
	,  := .AsInt16x8(), .AsInt16x8()
	 := .Equal().ToInt16x8()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX
func ( Uint16x8) ( Uint16x8) Mask16x8 {
	,  := .AsInt16x8(), .AsInt16x8()
	 := .Equal().ToInt16x8()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor()).ToInt16x8().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX
func ( Uint16x8) ( Uint16x8) Mask16x8 {
	,  := .AsInt16x8(), .AsInt16x8()
	 := .Equal().ToInt16x8()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor()).ToInt16x8().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Uint16x8) ( Uint16x8) Mask16x8 {
	,  := .AsInt16x8(), .AsInt16x8()
	 := .Equal().ToInt16x8()
	return .Equal().ToInt16x8().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX
func ( Uint32x4) ( Uint32x4) Mask32x4 {
	,  := .AsInt32x4(), .AsInt32x4()
	 := .Equal().ToInt32x4()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX
func ( Uint32x4) ( Uint32x4) Mask32x4 {
	,  := .AsInt32x4(), .AsInt32x4()
	 := .Equal().ToInt32x4()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX
func ( Uint32x4) ( Uint32x4) Mask32x4 {
	,  := .AsInt32x4(), .AsInt32x4()
	 := .Equal().ToInt32x4()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor()).ToInt32x4().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX
func ( Uint32x4) ( Uint32x4) Mask32x4 {
	,  := .AsInt32x4(), .AsInt32x4()
	 := .Equal().ToInt32x4()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor()).ToInt32x4().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Uint32x4) ( Uint32x4) Mask32x4 {
	,  := .AsInt32x4(), .AsInt32x4()
	 := .Equal().ToInt32x4()
	return .Equal().ToInt32x4().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX
func ( Uint64x2) ( Uint64x2) Mask64x2 {
	,  := .AsInt64x2(), .AsInt64x2()
	 := .Equal().ToInt64x2()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX
func ( Uint64x2) ( Uint64x2) Mask64x2 {
	,  := .AsInt64x2(), .AsInt64x2()
	 := .Equal().ToInt64x2()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX
func ( Uint64x2) ( Uint64x2) Mask64x2 {
	,  := .AsInt64x2(), .AsInt64x2()
	 := .Equal().ToInt64x2()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor()).ToInt64x2().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX
func ( Uint64x2) ( Uint64x2) Mask64x2 {
	,  := .AsInt64x2(), .AsInt64x2()
	 := .Equal().ToInt64x2()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor()).ToInt64x2().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX
func ( Uint64x2) ( Uint64x2) Mask64x2 {
	,  := .AsInt64x2(), .AsInt64x2()
	 := .Equal().ToInt64x2()
	return .Equal().ToInt64x2().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX2
func ( Uint8x32) ( Uint8x32) Mask8x32 {
	,  := .AsInt8x32(), .AsInt8x32()
	 := BroadcastInt8x32(-1 << (8 - 1))
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Uint8x32) ( Uint8x32) Mask8x32 {
	,  := .AsInt8x32(), .AsInt8x32()
	 := BroadcastInt8x32(-1 << (8 - 1))
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Uint8x32) ( Uint8x32) Mask8x32 {
	,  := .AsInt8x32(), .AsInt8x32()
	 := .Equal().ToInt8x32()
	 := BroadcastInt8x32(-1 << (8 - 1))
	return .Xor().Greater(.Xor()).ToInt8x32().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Uint8x32) ( Uint8x32) Mask8x32 {
	,  := .AsInt8x32(), .AsInt8x32()
	 := .Equal().ToInt8x32()
	 := BroadcastInt8x32(-1 << (8 - 1))
	return .Xor().Greater(.Xor()).ToInt8x32().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Uint8x32) ( Uint8x32) Mask8x32 {
	,  := .AsInt8x32(), .AsInt8x32()
	 := .Equal().ToInt8x32()
	return .Equal().ToInt8x32().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX2
func ( Uint16x16) ( Uint16x16) Mask16x16 {
	,  := .AsInt16x16(), .AsInt16x16()
	 := .Equal().ToInt16x16()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Uint16x16) ( Uint16x16) Mask16x16 {
	,  := .AsInt16x16(), .AsInt16x16()
	 := .Equal().ToInt16x16()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Uint16x16) ( Uint16x16) Mask16x16 {
	,  := .AsInt16x16(), .AsInt16x16()
	 := .Equal().ToInt16x16()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor()).ToInt16x16().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Uint16x16) ( Uint16x16) Mask16x16 {
	,  := .AsInt16x16(), .AsInt16x16()
	 := .Equal().ToInt16x16()
	 := .ShiftAllLeft(16 - 1)
	return .Xor().Greater(.Xor()).ToInt16x16().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Uint16x16) ( Uint16x16) Mask16x16 {
	,  := .AsInt16x16(), .AsInt16x16()
	 := .Equal().ToInt16x16()
	return .Equal().ToInt16x16().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX2
func ( Uint32x8) ( Uint32x8) Mask32x8 {
	,  := .AsInt32x8(), .AsInt32x8()
	 := .Equal().ToInt32x8()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Uint32x8) ( Uint32x8) Mask32x8 {
	,  := .AsInt32x8(), .AsInt32x8()
	 := .Equal().ToInt32x8()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Uint32x8) ( Uint32x8) Mask32x8 {
	,  := .AsInt32x8(), .AsInt32x8()
	 := .Equal().ToInt32x8()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor()).ToInt32x8().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Uint32x8) ( Uint32x8) Mask32x8 {
	,  := .AsInt32x8(), .AsInt32x8()
	 := .Equal().ToInt32x8()
	 := .ShiftAllLeft(32 - 1)
	return .Xor().Greater(.Xor()).ToInt32x8().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Uint32x8) ( Uint32x8) Mask32x8 {
	,  := .AsInt32x8(), .AsInt32x8()
	 := .Equal().ToInt32x8()
	return .Equal().ToInt32x8().Xor().asMask()
}

// Greater returns a mask whose elements indicate whether x > y
//
// Emulated, CPU Feature AVX2
func ( Uint64x4) ( Uint64x4) Mask64x4 {
	,  := .AsInt64x4(), .AsInt64x4()
	 := .Equal().ToInt64x4()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor())
}

// Less returns a mask whose elements indicate whether x < y
//
// Emulated, CPU Feature AVX2
func ( Uint64x4) ( Uint64x4) Mask64x4 {
	,  := .AsInt64x4(), .AsInt64x4()
	 := .Equal().ToInt64x4()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor())
}

// GreaterEqual returns a mask whose elements indicate whether x >= y
//
// Emulated, CPU Feature AVX2
func ( Uint64x4) ( Uint64x4) Mask64x4 {
	,  := .AsInt64x4(), .AsInt64x4()
	 := .Equal().ToInt64x4()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor()).ToInt64x4().Xor().asMask()
}

// LessEqual returns a mask whose elements indicate whether x <= y
//
// Emulated, CPU Feature AVX2
func ( Uint64x4) ( Uint64x4) Mask64x4 {
	,  := .AsInt64x4(), .AsInt64x4()
	 := .Equal().ToInt64x4()
	 := .ShiftAllLeft(64 - 1)
	return .Xor().Greater(.Xor()).ToInt64x4().Xor().asMask()
}

// NotEqual returns a mask whose elements indicate whether x != y
//
// Emulated, CPU Feature AVX2
func ( Uint64x4) ( Uint64x4) Mask64x4 {
	,  := .AsInt64x4(), .AsInt64x4()
	 := .Equal().ToInt64x4()
	return .Equal().ToInt64x4().Xor().asMask()
}