github.com/bir3/gocompiler@v0.3.205/src/cmd/compile/internal/ssa/rewriteAMD64latelower.go (about) 1 // Code generated from _gen/AMD64latelower.rules; DO NOT EDIT. 2 // generated with: cd _gen; go run . 3 4 package ssa 5 6 import "github.com/bir3/gocompiler/src/internal/buildcfg" 7 8 func rewriteValueAMD64latelower(v *Value) bool { 9 switch v.Op { 10 case OpAMD64SARL: 11 return rewriteValueAMD64latelower_OpAMD64SARL(v) 12 case OpAMD64SARQ: 13 return rewriteValueAMD64latelower_OpAMD64SARQ(v) 14 case OpAMD64SHLL: 15 return rewriteValueAMD64latelower_OpAMD64SHLL(v) 16 case OpAMD64SHLQ: 17 return rewriteValueAMD64latelower_OpAMD64SHLQ(v) 18 case OpAMD64SHRL: 19 return rewriteValueAMD64latelower_OpAMD64SHRL(v) 20 case OpAMD64SHRQ: 21 return rewriteValueAMD64latelower_OpAMD64SHRQ(v) 22 } 23 return false 24 } 25 func rewriteValueAMD64latelower_OpAMD64SARL(v *Value) bool { 26 v_1 := v.Args[1] 27 v_0 := v.Args[0] 28 // match: (SARL x y) 29 // cond: buildcfg.GOAMD64 >= 3 30 // result: (SARXL x y) 31 for { 32 x := v_0 33 y := v_1 34 if !(buildcfg.GOAMD64 >= 3) { 35 break 36 } 37 v.reset(OpAMD64SARXL) 38 v.AddArg2(x, y) 39 return true 40 } 41 return false 42 } 43 func rewriteValueAMD64latelower_OpAMD64SARQ(v *Value) bool { 44 v_1 := v.Args[1] 45 v_0 := v.Args[0] 46 // match: (SARQ x y) 47 // cond: buildcfg.GOAMD64 >= 3 48 // result: (SARXQ x y) 49 for { 50 x := v_0 51 y := v_1 52 if !(buildcfg.GOAMD64 >= 3) { 53 break 54 } 55 v.reset(OpAMD64SARXQ) 56 v.AddArg2(x, y) 57 return true 58 } 59 return false 60 } 61 func rewriteValueAMD64latelower_OpAMD64SHLL(v *Value) bool { 62 v_1 := v.Args[1] 63 v_0 := v.Args[0] 64 // match: (SHLL x y) 65 // cond: buildcfg.GOAMD64 >= 3 66 // result: (SHLXL x y) 67 for { 68 x := v_0 69 y := v_1 70 if !(buildcfg.GOAMD64 >= 3) { 71 break 72 } 73 v.reset(OpAMD64SHLXL) 74 v.AddArg2(x, y) 75 return true 76 } 77 return false 78 } 79 func rewriteValueAMD64latelower_OpAMD64SHLQ(v *Value) bool { 80 v_1 := v.Args[1] 81 v_0 := v.Args[0] 82 // match: (SHLQ x y) 83 // cond: buildcfg.GOAMD64 >= 3 84 // result: (SHLXQ x y) 85 for { 86 x := v_0 87 y := v_1 88 if !(buildcfg.GOAMD64 >= 3) { 89 break 90 } 91 v.reset(OpAMD64SHLXQ) 92 v.AddArg2(x, y) 93 return true 94 } 95 return false 96 } 97 func rewriteValueAMD64latelower_OpAMD64SHRL(v *Value) bool { 98 v_1 := v.Args[1] 99 v_0 := v.Args[0] 100 // match: (SHRL x y) 101 // cond: buildcfg.GOAMD64 >= 3 102 // result: (SHRXL x y) 103 for { 104 x := v_0 105 y := v_1 106 if !(buildcfg.GOAMD64 >= 3) { 107 break 108 } 109 v.reset(OpAMD64SHRXL) 110 v.AddArg2(x, y) 111 return true 112 } 113 return false 114 } 115 func rewriteValueAMD64latelower_OpAMD64SHRQ(v *Value) bool { 116 v_1 := v.Args[1] 117 v_0 := v.Args[0] 118 // match: (SHRQ x y) 119 // cond: buildcfg.GOAMD64 >= 3 120 // result: (SHRXQ x y) 121 for { 122 x := v_0 123 y := v_1 124 if !(buildcfg.GOAMD64 >= 3) { 125 break 126 } 127 v.reset(OpAMD64SHRXQ) 128 v.AddArg2(x, y) 129 return true 130 } 131 return false 132 } 133 func rewriteBlockAMD64latelower(b *Block) bool { 134 return false 135 }