Lines Matching refs:reg
207 my ($reg) = @_;
208 if ($reg =~ /%r[abcd]x/i) {
209 $reg =~ s/%r([abcd])x/%${1}l/i;
210 } elsif ($reg =~ /%r[sdb][ip]/i) {
211 $reg =~ s/%r([sdb][ip])/%${1}l/i;
212 } elsif ($reg =~ /%r[0-9]{1,2}/i) {
213 $reg =~ s/%(r[0-9]{1,2})/%${1}b/i;
215 die "BYTE: unknown register: $reg\n";
217 return $reg;
221 my ($reg) = @_;
222 if ($reg =~ /%r[abcdsdb][xip]/i) {
223 $reg =~ s/%r([abcdsdb])([xip])/%${1}${2}/i;
224 } elsif ($reg =~ /%r[0-9]{1,2}/) {
225 $reg =~ s/%(r[0-9]{1,2})/%${1}w/i;
227 die "WORD: unknown register: $reg\n";
229 return $reg;
233 my ($reg) = @_;
234 if ($reg =~ /%r[abcdsdb][xip]/i) {
235 $reg =~ s/%r([abcdsdb])([xip])/%e${1}${2}/i;
236 } elsif ($reg =~ /%r[0-9]{1,2}/i) {
237 $reg =~ s/%(r[0-9]{1,2})/%${1}d/i;
239 die "DWORD: unknown register: $reg\n";
241 return $reg;
245 my ($reg) = @_;
246 if ($reg =~ /%[xyz]mm/i) {
247 $reg =~ s/%[xyz]mm/%xmm/i;
249 die "XWORD: unknown register: $reg\n";
251 return $reg;
255 my ($reg) = @_;
256 if ($reg =~ /%[xyz]mm/i) {
257 $reg =~ s/%[xyz]mm/%ymm/i;
259 die "YWORD: unknown register: $reg\n";
261 return $reg;
265 my ($reg) = @_;
266 if ($reg =~ /%[xyz]mm/i) {
267 $reg =~ s/%[xyz]mm/%zmm/i;
269 die "ZWORD: unknown register: $reg\n";
271 return $reg;
505 foreach my $reg ("%rax", "%rcx", "%rdx", "%r8", "%r9", "%r10", "%r11") {
506 $code .= "xor $reg,$reg\n";
509 foreach my $reg ("%rsi", "%rdi") {
510 $code .= "xor $reg,$reg\n";
4805 foreach my $reg ("rsi", "rdi", "r15", "r14", "r13", "r12", "rbp", "rbx") {
4807 .byte .L${func_name}_seh_push_${reg}-.L${func_name}_seh_begin
4808 .byte @{[$UWOP_PUSH_NONVOL | ($UWOP_REG_NUMBER{$reg} << 4)]}