diff options
Diffstat (limited to 'test/codegen/strings.go')
| -rw-r--r-- | test/codegen/strings.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/codegen/strings.go b/test/codegen/strings.go index f4adfac0cc..39ee2e8b9f 100644 --- a/test/codegen/strings.go +++ b/test/codegen/strings.go @@ -20,3 +20,30 @@ func ToByteSlice() []byte { // Issue #24698 // amd64:-`.*runtime.stringtoslicebyte` return []byte("foo") } + +// Loading from read-only symbols should get transformed into constants. +func ConstantLoad() { + // 12592 = 0x3130 + // 50 = 0x32 + // amd64:`MOVW\t\$12592, \(`,`MOVB\t\$50, 2\(` + // 386:`MOVW\t\$12592, \(`,`MOVB\t\$50, 2\(` + // arm:`MOVW\t\$48`,`MOVW\t\$49`,`MOVW\t\$50` + // arm64:`MOVD\t\$12592`,`MOVD\t\$50` + bsink = []byte("012") + + // 858927408 = 0x33323130 + // 13620 = 0x3534 + // amd64:`MOVL\t\$858927408`,`MOVW\t\$13620, 4\(` + // 386:`MOVL\t\$858927408`,`MOVW\t\$13620, 4\(` + // arm64:`MOVD\t\$858927408`,`MOVD\t\$13620` + bsink = []byte("012345") + + // 3978425819141910832 = 0x3736353433323130 + // 7306073769690871863 = 0x6564636261393837 + // amd64:`MOVQ\t\$3978425819141910832`,`MOVQ\t\$7306073769690871863` + // 386:`MOVL\t\$858927408, \(`,`DUFFCOPY` + // arm64:`MOVD\t\$3978425819141910832`,`MOVD\t\$1650538808`,`MOVD\t\$25699`,`MOVD\t\$101` + bsink = []byte("0123456789abcde") +} + +var bsink []byte |
