Source file src/cmd/compile/internal/arm64/simdssa_sve.go

     1  // Code generated by 'simdgen -o godefs -goroot $GOROOT -arch sve -arm64Path $ARM64_ISA_PATH go_sve.yaml types.yaml categories.yaml'; DO NOT EDIT.
     2  
     3  package arm64
     4  
     5  import (
     6  	"cmd/compile/internal/ssa"
     7  	"cmd/compile/internal/ssa/ssaop"
     8  	"cmd/compile/internal/ssagen"
     9  	"cmd/internal/obj"
    10  	"cmd/internal/obj/arm64"
    11  )
    12  
    13  func ssaGenSIMDSVEValue(s *ssagen.State, v *ssa.Value) bool {
    14  	var p *obj.Prog
    15  	switch v.Op {
    16  	case ssaop.OpARM64ZADDB,
    17  		ssaop.OpARM64ZSQADDB,
    18  		ssaop.OpARM64ZUQADDB:
    19  		p = simdZ21(s, v, arm64.ARNG_B)
    20  
    21  	case ssaop.OpARM64ZFADDD,
    22  		ssaop.OpARM64ZADDD,
    23  		ssaop.OpARM64ZSQADDD,
    24  		ssaop.OpARM64ZUQADDD:
    25  		p = simdZ21(s, v, arm64.ARNG_D)
    26  
    27  	case ssaop.OpARM64ZADDH,
    28  		ssaop.OpARM64ZSQADDH,
    29  		ssaop.OpARM64ZUQADDH:
    30  		p = simdZ21(s, v, arm64.ARNG_H)
    31  
    32  	case ssaop.OpARM64ZFADDS,
    33  		ssaop.OpARM64ZADDS,
    34  		ssaop.OpARM64ZSQADDS,
    35  		ssaop.OpARM64ZUQADDS:
    36  		p = simdZ21(s, v, arm64.ARNG_S)
    37  
    38  	case ssaop.OpARM64ZCMPGTB:
    39  		p = simdZ2kk(s, v, arm64.ARNG_B)
    40  
    41  	case ssaop.OpARM64ZCMPGTD:
    42  		p = simdZ2kk(s, v, arm64.ARNG_D)
    43  
    44  	case ssaop.OpARM64ZCMPGTH:
    45  		p = simdZ2kk(s, v, arm64.ARNG_H)
    46  
    47  	case ssaop.OpARM64ZCMPGTS:
    48  		p = simdZ2kk(s, v, arm64.ARNG_S)
    49  
    50  	default:
    51  		// Unknown reg shape
    52  		return false
    53  	}
    54  
    55  	// Ensure p is marked as used (may not be used in all generated code paths)
    56  	_ = p
    57  	return true
    58  }
    59  

View as plain text