1 !sum
2 # Max — SMAX/UMAX/FMAX. All are predicated-only (no unpredicated vector
3 # encoding, in SVE2 either), and destructive: the first source is also the
4 # destination. The Go API runs them under a synthesized all-true predicate,
5 # like Abs, and the select peepholes swap the real mask back in.
6 - go: Max
7 asm: "ZSMAX|ZUMAX|ZFMAX"
8 in:
9 - &any
10 go: $t
11 - *any
12 - class: mask # governing predicate
13 out:
14 - *any
15
16 # Min — SMIN/UMIN/FMIN, the same shape as Max.
17 - go: Min
18 asm: "ZSMIN|ZUMIN|ZFMIN"
19 in:
20 - *any
21 - *any
22 - class: mask # governing predicate
23 out:
24 - *any
25
View as plain text