Home | History | Annotate | Download | only in x86

Lines Matching refs:As

23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
83 switch p.As {
95 // As a register, TLS refers to the thread-local storage base, and it
101 // Semantically it is off(reg), but the (TLS*1) annotation marks this as
144 // guarantee we are producing byte-identical binaries as before this code.
146 if (p.As == AMOVQ || p.As == AMOVL) && p.From.Type == obj.TYPE_REG && p.From.Reg == REG_TLS && p.To.Type == obj.TYPE_REG && REG_AX <= p.To.Reg && p.To.Reg <= REG_R15 && ctxt.Headtype != obj.Hsolaris {
162 // as the 2-instruction sequence if necessary.
167 if (p.As == AMOVQ || p.As == AMOVL) && p.From.Type == obj.TYPE_MEM && p.From.Reg == REG_TLS && p.To.Type == obj.TYPE_REG && REG_AX <= p.To.Reg && p.To.Reg <= REG_R15 {
169 q.As = p.As
195 switch p.As {
202 // Rewrite CALL/JMP/RET to symbol as TYPE_BRANCH.
203 switch p.As {
210 // Rewrite MOVL/MOVQ $XXX(FP/SP) as LEAL/LEAQ.
212 switch p.As {
214 p.As = ALEAL
217 p.As = ALEAQ
231 switch p.As {
238 p.As = AXORPS
279 p.As = AXORPS
325 var add, lea, mov obj.As
337 if p.As == ALEAL && p.To.Reg != p.From.Reg && p.To.Reg != p.From.Index {
346 if p.As == obj.ADUFFCOPY || p.As == obj.ADUFFZERO {
353 if p.As == obj.ADUFFZERO {
359 p.As = mov
368 p1.As = add
374 p2.As = obj.ACALL
382 if p.As == lea && p.From.Type == obj.TYPE_MEM && p.From.Name == obj.NAME_EXTERN && !p.From.Sym.Local() {
384 p.As = mov
392 pAs := p.As
400 p.As = mov
411 q.As = lea
420 q.As = pAs
443 if p.As == obj.ACALL {
454 p1.As = ALEAL
461 p2.As = p.As
477 if p.As == obj.ATEXT || p.As == obj.AFUNCDATA || p.As == obj.ARET || p.As == obj.AJMP {
486 p1.As = mov
493 p2.As = p.As
516 if p.As == obj.ATEXT || p.As == obj.AFUNCDATA || p.As == obj.ACALL || p.As == obj.ARET || p.As == obj.AJMP {
538 q.As = p.As
542 p.As = AMOVL
554 if (p.As == ALEAL || p.As == AMOVL) && p.To.Reg != p.From.Reg && p.To.Reg != p.From.Index {
563 q.As = obj.ACALL
568 r.As = p.As
587 if p.As == ALEAL || p.As == ALEAQ {
637 if q.As == obj.ACALL || q.As == obj.ADUFFCOPY || q.As == obj.ADUFFZERO {
677 switch q.As {
680 // the same as duffcopy and duffzero.
713 p.As = AADJSP
725 p.As = AMOVQ
736 p.As = ALEAQ
763 p.As = AMOVQ
770 p.As = AMOVL
777 p.As = AMOVL
781 p.As = ATESTQ
787 p.As = ATESTL
791 p.As = AJEQ
796 p.As = ALEAQ
803 p.As = ALEAL
807 p.As = ACMPQ
814 p.As = ACMPL
821 p.As = ACMPL
825 p.As = AJNE
830 p.As = AMOVQ
837 p.As = AMOVL
844 p.As = AMOVL
848 p.As = obj.ANOP
876 switch p.As {
921 p.As = AMOVQ
932 p.As = AADJSP
937 p.As = obj.ARET
947 p.As = obj.AJMP
982 p.As = AMOVQ
984 p.As = AMOVL
1028 p.As = cmp
1042 p.As = lea
1050 p.As = cmp
1076 p.As = mov
1086 p.As = cmp
1096 p.As = AJEQ
1101 p.As = lea
1109 p.As = sub
1116 p.As = cmp
1125 jls.As = AJLS
1136 spfix.As = obj.ANOP
1142 pcdata.As = obj.APCDATA
1151 call.As = obj.ACALL
1173 jmp.As = obj.AJMP
1196 func nofollow(a obj.As) bool {
1213 func pushpop(a obj.As) bool {
1233 func relinv(a obj.As) obj.As {
1276 var a obj.As
1282 if p.As == obj.AJMP {
1284 if q != nil && q.As != obj.ATEXT {
1285 /* mark instruction as done and continue layout at target of jump */
1309 a = q.As
1325 if p.As == obj.ANOP {
1335 if q.As != a || q.Pcond == nil || q.Pcond.Mark&DONE != 0 {
1339 q.As = relinv(q.As)
1353 q.As = obj.AJMP
1366 a = p.As
1392 p.As = relinv(a)
1402 p.As = relinv(a)
1421 var unaryDst = map[obj.As]bool{