Rev 2787 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2787 | Rev 3042 | ||
---|---|---|---|
Line 86... | Line 86... | ||
86 | "repe cmpsb\n\t" |
86 | "repe cmpsb\n\t" |
87 | "je 1f\n\t" |
87 | "je 1f\n\t" |
88 | "movq %3, %0\n\t" |
88 | "movq %3, %0\n\t" |
89 | "addq $1, %0\n\t" |
89 | "addq $1, %0\n\t" |
90 | "1:\n" |
90 | "1:\n" |
91 | : "=a" (ret), "=%S" (d0), "=&D" (d1), "=&c" (d2) |
91 | : "=a" (ret), "=&S" (d0), "=&D" (d1), "=&c" (d2) |
92 | : "0" (0), "1" (src), "2" (dst), "3" ((unative_t)cnt) |
92 | : "0" (0), "1" (src), "2" (dst), "3" ((unative_t)cnt) |
93 | ); |
93 | ); |
94 | 94 | ||
95 | return ret; |
95 | return ret; |
96 | } |
96 | } |
Line 108... | Line 108... | ||
108 | { |
108 | { |
109 | unative_t d0, d1; |
109 | unative_t d0, d1; |
110 | 110 | ||
111 | asm volatile ( |
111 | asm volatile ( |
112 | "rep stosw\n\t" |
112 | "rep stosw\n\t" |
113 | : "=&D" (d0), "=&c" (d1), "=a" (x) |
113 | : "=&D" (d0), "=&c" (d1), "=&a" (x) |
114 | : "0" (dst), "1" ((unative_t)cnt), "2" (x) |
114 | : "0" (dst), "1" ((unative_t)cnt), "2" (x) |
115 | : "memory" |
115 | : "memory" |
116 | ); |
116 | ); |
117 | 117 | ||
118 | } |
118 | } |
Line 130... | Line 130... | ||
130 | { |
130 | { |
131 | unative_t d0, d1; |
131 | unative_t d0, d1; |
132 | 132 | ||
133 | asm volatile ( |
133 | asm volatile ( |
134 | "rep stosb\n\t" |
134 | "rep stosb\n\t" |
135 | : "=&D" (d0), "=&c" (d1), "=a" (x) |
135 | : "=&D" (d0), "=&c" (d1), "=&a" (x) |
136 | : "0" (dst), "1" ((unative_t)cnt), "2" (x) |
136 | : "0" (dst), "1" ((unative_t)cnt), "2" (x) |
137 | : "memory" |
137 | : "memory" |
138 | ); |
138 | ); |
139 | 139 | ||
140 | } |
140 | } |