| // Code generated by 'simdgen -o godefs -goroot $GOROOT -arch sve -arm64Path $ARM64_ISA_PATH go_sve.yaml types.yaml categories.yaml'; DO NOT EDIT. |
| |
| package arm64 |
| |
| import ( |
| "cmd/compile/internal/ssa" |
| "cmd/compile/internal/ssa/ssaop" |
| "cmd/compile/internal/ssagen" |
| "cmd/internal/obj" |
| "cmd/internal/obj/arm64" |
| ) |
| |
| func ssaGenSIMDSVEValue(s *ssagen.State, v *ssa.Value) bool { |
| var p *obj.Prog |
| switch v.Op { |
| case ssaop.OpARM64ZADDB, |
| ssaop.OpARM64ZSQADDB, |
| ssaop.OpARM64ZUQADDB: |
| p = simdZ21(s, v, arm64.ARNG_B) |
| |
| case ssaop.OpARM64ZFADDD, |
| ssaop.OpARM64ZADDD, |
| ssaop.OpARM64ZSQADDD, |
| ssaop.OpARM64ZUQADDD: |
| p = simdZ21(s, v, arm64.ARNG_D) |
| |
| case ssaop.OpARM64ZADDH, |
| ssaop.OpARM64ZSQADDH, |
| ssaop.OpARM64ZUQADDH: |
| p = simdZ21(s, v, arm64.ARNG_H) |
| |
| case ssaop.OpARM64ZFADDS, |
| ssaop.OpARM64ZADDS, |
| ssaop.OpARM64ZSQADDS, |
| ssaop.OpARM64ZUQADDS: |
| p = simdZ21(s, v, arm64.ARNG_S) |
| |
| case ssaop.OpARM64ZCMPGTB: |
| p = simdZ2kk(s, v, arm64.ARNG_B) |
| |
| case ssaop.OpARM64ZCMPGTD: |
| p = simdZ2kk(s, v, arm64.ARNG_D) |
| |
| case ssaop.OpARM64ZCMPGTH: |
| p = simdZ2kk(s, v, arm64.ARNG_H) |
| |
| case ssaop.OpARM64ZCMPGTS: |
| p = simdZ2kk(s, v, arm64.ARNG_S) |
| |
| default: |
| // Unknown reg shape |
| return false |
| } |
| |
| // Ensure p is marked as used (may not be used in all generated code paths) |
| _ = p |
| return true |
| } |