/
/
opt
/
golang
/
1.19.4
/
test
/
codegen
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.137
PHP 8.3.16
Dir:
/opt/golang/1.19.4/test/codegen
Edit:
/opt/golang/1.19.4/test/codegen/switch.go
// asmcheck // Copyright 2019 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. // These tests check code generation of switch statements. package codegen // see issue 33934 func f(x string) int { // amd64:-`cmpstring` switch x { case "": return -1 case "1", "2", "3": return -2 default: return -3 } } // use jump tables for 8+ int cases func square(x int) int { // amd64:`JMP\s\(.*\)\(.*\)$` // arm64:`MOVD\s\(R.*\)\(R.*<<3\)`,`JMP\s\(R.*\)$` switch x { case 1: return 1 case 2: return 4 case 3: return 9 case 4: return 16 case 5: return 25 case 6: return 36 case 7: return 49 case 8: return 64 default: return x * x } } // use jump tables for 8+ string lengths func length(x string) int { // amd64:`JMP\s\(.*\)\(.*\)$` // arm64:`MOVD\s\(R.*\)\(R.*<<3\)`,`JMP\s\(R.*\)$` switch x { case "a": return 1 case "bb": return 2 case "ccc": return 3 case "dddd": return 4 case "eeeee": return 5 case "ffffff": return 6 case "ggggggg": return 7 case "hhhhhhhh": return 8 default: return len(x) } }
Ukuran: 1.1 KB