OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
test
/
codegen
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
README
5.21 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
addrcalc.go
324 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
alloc.go
902 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
arithmetic.go
14.63 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
bitfield.go
9.64 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
bits.go
5.95 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
bmi.go
2.19 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
bool.go
705 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
clobberdead.go
1.31 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
clobberdeadreg.go
1.29 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
compare_and_branch.go
3.79 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
comparisons.go
11.79 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
condmove.go
5.3 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
copy.go
3.36 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
floats.go
3.21 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
fuse.go
4.79 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue22703.go
5.43 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue25378.go
445 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue31618.go
504 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue33580.go
459 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue38554.go
355 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue42610.go
673 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue48054.go
464 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
issue52635.go
655 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
logic.go
815 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
mapaccess.go
9.21 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
maps.go
3.1 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
math.go
6.12 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
mathbits.go
18.06 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
memcombine.go
24 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
memops.go
11.65 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
noextend.go
4.8 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
race.go
651 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
regabi_regalloc.go
494 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
retpoline.go
224 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
rotate.go
5.43 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
select.go
373 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
shift.go
9.15 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
shortcircuit.go
368 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
slices.go
8.09 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
smallintiface.go
500 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
spectre.go
722 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
stack.go
2.96 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
strings.go
2.08 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
structs.go
887 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
switch.go
1.13 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zerosize.go
650 bytes
12/01/2022 06:13:01 PM
rw-r--r--
Editing: copy.go
Close
// asmcheck // Copyright 2018 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. package codegen import "runtime" // Check small copies are replaced with moves. func movesmall4() { x := [...]byte{1, 2, 3, 4} // 386:-".*memmove" // amd64:-".*memmove" // arm:-".*memmove" // arm64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" copy(x[1:], x[:]) } func movesmall7() { x := [...]byte{1, 2, 3, 4, 5, 6, 7} // 386:-".*memmove" // amd64:-".*memmove" // arm64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" copy(x[1:], x[:]) } func movesmall16() { x := [...]byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} // amd64:-".*memmove" // ppc64:".*memmove" // ppc64le:".*memmove" copy(x[1:], x[:]) } var x [256]byte // Check that large disjoint copies are replaced with moves. func moveDisjointStack32() { var s [32]byte // ppc64:-".*memmove" // ppc64le:-".*memmove" // ppc64le/power8:"LXVD2X",-"ADD",-"BC" // ppc64le/power9:"LXV",-"LXVD2X",-"ADD",-"BC" copy(s[:], x[:32]) runtime.KeepAlive(&s) } func moveDisjointStack64() { var s [96]byte // ppc64:-".*memmove" // ppc64le:-".*memmove" // ppc64le/power8:"LXVD2X","ADD","BC" // ppc64le/power9:"LXV",-"LXVD2X",-"ADD",-"BC" copy(s[:], x[:96]) runtime.KeepAlive(&s) } func moveDisjointStack() { var s [256]byte // s390x:-".*memmove" // amd64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" // ppc64le/power8:"LXVD2X" // ppc64le/power9:"LXV",-"LXVD2X" copy(s[:], x[:]) runtime.KeepAlive(&s) } func moveDisjointArg(b *[256]byte) { var s [256]byte // s390x:-".*memmove" // amd64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" // ppc64le/power8:"LXVD2X" // ppc64le/power9:"LXV",-"LXVD2X" copy(s[:], b[:]) runtime.KeepAlive(&s) } func moveDisjointNoOverlap(a *[256]byte) { // s390x:-".*memmove" // amd64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" // ppc64le/power8:"LXVD2X" // ppc64le/power9:"LXV",-"LXVD2X" copy(a[:], a[128:]) } // Check arch-specific memmove lowering. See issue 41662 fot details func moveArchLowering1(b []byte, x *[1]byte) { _ = b[1] // amd64:-".*memmove" // arm64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" copy(b, x[:]) } func moveArchLowering2(b []byte, x *[2]byte) { _ = b[2] // amd64:-".*memmove" // arm64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" copy(b, x[:]) } func moveArchLowering4(b []byte, x *[4]byte) { _ = b[4] // amd64:-".*memmove" // arm64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" copy(b, x[:]) } func moveArchLowering8(b []byte, x *[8]byte) { _ = b[8] // amd64:-".*memmove" // arm64:-".*memmove" // ppc64:-".*memmove" // ppc64le:-".*memmove" copy(b, x[:]) } func moveArchLowering16(b []byte, x *[16]byte) { _ = b[16] // amd64:-".*memmove" copy(b, x[:]) } // Check that no branches are generated when the pointers are [not] equal. func ptrEqual() { // amd64:-"JEQ",-"JNE" // ppc64:-"BEQ",-"BNE" // ppc64le:-"BEQ",-"BNE" // s390x:-"BEQ",-"BNE" copy(x[:], x[:]) } func ptrOneOffset() { // amd64:-"JEQ",-"JNE" // ppc64:-"BEQ",-"BNE" // ppc64le:-"BEQ",-"BNE" // s390x:-"BEQ",-"BNE" copy(x[1:], x[:]) } func ptrBothOffset() { // amd64:-"JEQ",-"JNE" // ppc64:-"BEQ",-"BNE" // ppc64le:-"BEQ",-"BNE" // s390x:-"BEQ",-"BNE" copy(x[1:], x[2:]) }