obj.go
Contains an unbounded block loopSource contains low-bit mask syntax
SHA-256b89d2bbc6cc91279b4e095bdc4a4aae1d3041db8a714e0796d8e5f95c37866e7
MaleculeH₂(Db₂Mg)
Evidence
17:61… RWISE, ARISING FROM,
18// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19// THE SOFTWARE.
20
21package riscv
22
23import (
24 "cmd/internal/obj"
25 "cmd/internal/objabi"
26 "cmd/internal/src"
27 "cmd/internal/sys"
28 "fmt"
29 "internal/abi"
30 "internal/buildcfg"
31 "log"
32 "math"
33 "math/bits"
34 "strings"
35)
36
⋯4 lines
674:13… point will be reached). No attempt to handle functions > 2GiB.
675 for {
676 big, rescan := false, false
677 maxPC := setPCs(cursym.Func().Text, 0, ctxt.CompressInstructions)
678 if maxPC+maxTrampSize > (1 << 20) {
679 big = true
680 }
⋯4 lines
726:10… k
727 }
728 offset := p.To.Target().Pc - p.Pc
729 if offset < -(1<<20) || (1<<20) <= offset {
730 // Replace with 2-instruction sequence. This assumes
731 // that TMP is not live across J instruc …
1082:4… is not, an error is returned.
1083func immEven(x int64) error {
1084 if x&1 != 0 {
1085 return fmt.Errorf("immediate %#x is not a multiple of two", x)
1086 }
⋯4 lines
4229:36… s1
4230 }
4231 sltReg1, sltReg2 := ins.rs2, ins.rs1
4232
4233 // MIN -> SLT/SUB/XOR/AND/XOR
4234 // MAX -> SLT/SUB/XOR/AND/XOR with swapped inputs to SLT
4235 switch ins.as {
⋯4 lines