|
|
1.1 ! root 1: ////////// ! 2: / n1/i386/tables/alogic.t ! 3: ////////// ! 4: ! 5: ///////// ! 6: / ! 7: / Assigned AND (&=), assigned OR (|=), assigned XOR (^=). ! 8: / [OP0] is ZAND, ZOR or ZXOR. ! 9: / The [TL OP0] macro maps e.g. ZOR into ZORB or ZORW; see n1/i386/outmch.c. ! 10: / ! 11: ///////// ! 12: ! 13: AAND: ! 14: AOR: ! 15: AXOR: ! 16: ! 17: ////////// ! 18: / Longs. ! 19: ////////// ! 20: ! 21: / Long register op= easy. ! 22: % PEFFECT|PVALUE|PREL ! 23: LONG ANYR * * TEMP ! 24: REG|MMX LONG ! 25: EASY|MMX LONG ! 26: / Integer op= immediate. ! 27: % PEFFECT|PVALUE|PREL ! 28: LONG ANYR * * TEMP ! 29: ADR|LV SINT|UINT ! 30: IMM|MMX LONG ! 31: [TL OP0] [AL],[TL AR] ! 32: [IFV] [TL ZMOVSX] [R],[AL] ! 33: [IFR] [REL0] [LAB] ! 34: ! 35: / Integer op= long. ! 36: % PEFFECT|PVALUE|PREL|P_SRT|PBYTE ! 37: LONG ANYR * ANYR TEMP ! 38: ADR|LV SINT|UINT ! 39: TREG LONG ! 40: [TL OP0] [AL],[TL R] ! 41: [IFV] [TL ZMOVSX] [R],[AL] ! 42: [IFR] [REL0] [LAB] ! 43: ! 44: ///////// ! 45: / ! 46: / Fields. ! 47: / The modifier masks and shifts the right subtree appropriately. ! 48: / The right therefore may be simply OPed into the left. ! 49: / Distinguish between signed and unsigned fields. ! 50: / If the value is needed, unsigned result must be masked; ! 51: / the sign extend shifts make the mask unnecessary, so it gets optimized out. ! 52: / ! 53: ///////// ! 54: ! 55: / Signed field op= immediate. ! 56: % PEFFECT|PVALUE ! 57: FS32 ANYR * * TEMP ! 58: ADR|LV FLD ! 59: IMM|MMX LONG ! 60: [TL OP0] [AL],[TL AR] ! 61: [IFV] [TL ZMOVZX] [R],[AL] ! 62: ! 63: / Signed field op= long. ! 64: % PEFFECT|PVALUE|P_SRT|PBYTE ! 65: FS32 ANYR * ANYR TEMP ! 66: ADR|LV FLD ! 67: TREG LONG ! 68: [TL OP0] [AL],[TL R] ! 69: [IFV] [TL ZMOVZX] [R],[AL] ! 70: ! 71: / Unsigned field op= immediate. ! 72: % PEFFECT|PVALUE ! 73: FU32 ANYR * * TEMP ! 74: ADR|LV FLD ! 75: IMM|MMX LONG ! 76: [TL OP0] [AL],[TL AR] ! 77: [IFV] [TL ZMOVZX] [R],[AL] ! 78: [IFV] [ZAND] [R],[EMASK] ! 79: ! 80: / Unsigned long field op= long. ! 81: % PEFFECT|PVALUE|P_SRT|PBYTE ! 82: FU32 ANYR * ANYR TEMP ! 83: ADR|LV FLD ! 84: TREG LONG ! 85: [TL OP0] [AL],[TL R] ! 86: [IFV] [TL ZMOVZX] [R],[AL] ! 87: [IFV] [ZAND] [R],[EMASK] ! 88: ! 89: ////////// ! 90: / end of n1/i386/tables/alogic.t ! 91: //////////
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.