semaphores.py (7087:fb8d5786ff30) | semaphores.py (8610:9bdd52a2214c) |
---|---|
1# Copyright (c) 2007 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 48 unchanged lines hidden (view full) --- 57 sub t0, rax, t1, flags=(OF, SF, ZF, AF, PF, CF) 58 59 mov t1, t1, reg, flags=(CZF,) 60 st t1, seg, riprel, disp 61 mov rax, rax, t1, flags=(nCZF,) 62}; 63 64def macroop CMPXCHG_LOCKED_M_R { | 1# Copyright (c) 2007 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 48 unchanged lines hidden (view full) --- 57 sub t0, rax, t1, flags=(OF, SF, ZF, AF, PF, CF) 58 59 mov t1, t1, reg, flags=(CZF,) 60 st t1, seg, riprel, disp 61 mov rax, rax, t1, flags=(nCZF,) 62}; 63 64def macroop CMPXCHG_LOCKED_M_R { |
65 mfence |
|
65 ldstl t1, seg, sib, disp 66 sub t0, rax, t1, flags=(OF, SF, ZF, AF, PF, CF) 67 68 mov t1, t1, reg, flags=(CZF,) 69 stul t1, seg, sib, disp | 66 ldstl t1, seg, sib, disp 67 sub t0, rax, t1, flags=(OF, SF, ZF, AF, PF, CF) 68 69 mov t1, t1, reg, flags=(CZF,) 70 stul t1, seg, sib, disp |
71 mfence |
|
70 mov rax, rax, t1, flags=(nCZF,) 71}; 72 73def macroop CMPXCHG_LOCKED_P_R { 74 rdip t7 | 72 mov rax, rax, t1, flags=(nCZF,) 73}; 74 75def macroop CMPXCHG_LOCKED_P_R { 76 rdip t7 |
77 mfence |
|
75 ldstl t1, seg, riprel, disp 76 sub t0, rax, t1, flags=(OF, SF, ZF, AF, PF, CF) 77 78 mov t1, t1, reg, flags=(CZF,) 79 stul t1, seg, riprel, disp | 78 ldstl t1, seg, riprel, disp 79 sub t0, rax, t1, flags=(OF, SF, ZF, AF, PF, CF) 80 81 mov t1, t1, reg, flags=(CZF,) 82 stul t1, seg, riprel, disp |
83 mfence |
|
80 mov rax, rax, t1, flags=(nCZF,) 81}; 82 83def macroop XADD_M_R { 84 ldst t1, seg, sib, disp 85 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 86 st t2, seg, sib, disp 87 mov reg, reg, t1 88}; 89 90def macroop XADD_P_R { 91 rdip t7 92 ldst t1, seg, riprel, disp 93 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 94 st t2, seg, riprel, disp 95 mov reg, reg, t1 96}; 97 98def macroop XADD_LOCKED_M_R { | 84 mov rax, rax, t1, flags=(nCZF,) 85}; 86 87def macroop XADD_M_R { 88 ldst t1, seg, sib, disp 89 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 90 st t2, seg, sib, disp 91 mov reg, reg, t1 92}; 93 94def macroop XADD_P_R { 95 rdip t7 96 ldst t1, seg, riprel, disp 97 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 98 st t2, seg, riprel, disp 99 mov reg, reg, t1 100}; 101 102def macroop XADD_LOCKED_M_R { |
103 mfence |
|
99 ldstl t1, seg, sib, disp 100 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 101 stul t2, seg, sib, disp | 104 ldstl t1, seg, sib, disp 105 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 106 stul t2, seg, sib, disp |
107 mfence |
|
102 mov reg, reg, t1 103}; 104 105def macroop XADD_LOCKED_P_R { 106 rdip t7 | 108 mov reg, reg, t1 109}; 110 111def macroop XADD_LOCKED_P_R { 112 rdip t7 |
113 mfence |
|
107 ldstl t1, seg, riprel, disp 108 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 109 stul t2, seg, riprel, disp | 114 ldstl t1, seg, riprel, disp 115 add t2, t1, reg, flags=(OF,SF,ZF,AF,PF,CF) 116 stul t2, seg, riprel, disp |
117 mfence |
|
110 mov reg, reg, t1 111}; 112 113def macroop XADD_R_R { 114 add t2, regm, reg, flags=(OF,SF,ZF,AF,PF,CF) 115 mov regm, regm, reg 116 mov reg, reg, t2 117}; --- 46 unchanged lines hidden --- | 118 mov reg, reg, t1 119}; 120 121def macroop XADD_R_R { 122 add t2, regm, reg, flags=(OF,SF,ZF,AF,PF,CF) 123 mov regm, regm, reg 124 mov reg, reg, t2 125}; --- 46 unchanged lines hidden --- |