2020-11-16 07:40:45 -07:00
|
|
|
// asmcheck
|
|
|
|
|
|
|
|
// Copyright 2020 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
// Don't allow 0 masks in shift lowering rules on ppc64x.
|
|
|
|
// See issue 42610.
|
|
|
|
|
|
|
|
package codegen
|
|
|
|
|
|
|
|
func f32(a []int32, i uint32) {
|
|
|
|
g := func(p int32) int32 {
|
|
|
|
i = uint32(p) * (uint32(p) & (i & 1))
|
|
|
|
return 1
|
|
|
|
}
|
2023-01-25 10:53:10 -07:00
|
|
|
// ppc64x: -"RLWNIM"
|
2020-11-16 07:40:45 -07:00
|
|
|
a[0] = g(8) >> 1
|
|
|
|
}
|
|
|
|
|
|
|
|
func f(a []int, i uint) {
|
|
|
|
g := func(p int) int {
|
|
|
|
i = uint(p) * (uint(p) & (i & 1))
|
|
|
|
return 1
|
|
|
|
}
|
2023-01-25 10:53:10 -07:00
|
|
|
// ppc64x: -"RLDIC"
|
2020-11-16 07:40:45 -07:00
|
|
|
a[0] = g(8) >> 1
|
|
|
|
}
|