mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 18:08:24 +08:00
ld/testsuite/
* ld-tic6x/pcr-reloc.d: New test. * ld-tic6x/pcr-reloc.s: New test. gas/testsuite/ * gas/tic6x/pcr-relocs.d: New test. * gas/tic6x/pcr-relocs.s: New test. * gas/tic6x/pcr-relocs-undef.d: New test. * gas/tic6x/pcr-relocs-undef.s: New test. * gas/tic6x/reloc-bad-2.s: Update for pcr_offset. * gas/tic6x/reloc-bad-2.l: Update for pcr_offset. bfd/ * elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for R_C6000_PCR_H16 and R_C6000_PCR_L16. (elf32_tic6x_relocate_section): Handle them. gas/ * config/tc-tic6x.c (tic6x_operators): Add "pcr_offset". (tic6x_parse_name): Handle it. (tic6x_fix_new_exp): Handle O_pcr_offset. (tic6x_fix_adjustable): Return 0 for the new relocs. (md_apply_fix): Handle them. (tc_gen_reloc): Likewise. * config/tc-tic6x.h (tic6x_fix_info): Add a fix_subsy member.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2011-05-20 Bernd Schmidt <bernds@codesourcery.com>
|
||||||
|
|
||||||
|
* elf32-tic6x.c (elf32_tic6x_howto_table): Add entries for
|
||||||
|
R_C6000_PCR_H16 and R_C6000_PCR_L16.
|
||||||
|
(elf32_tic6x_relocate_section): Handle them.
|
||||||
|
|
||||||
2011-05-18 Nick Clifton <nickc@redhat.com>
|
2011-05-18 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR ld/12761
|
PR ld/12761
|
||||||
|
@ -528,8 +528,32 @@ static reloc_howto_type elf32_tic6x_howto_table[] =
|
|||||||
0, /* src_mask */
|
0, /* src_mask */
|
||||||
0xffffffff, /* dst_mask */
|
0xffffffff, /* dst_mask */
|
||||||
FALSE), /* pcrel_offset */
|
FALSE), /* pcrel_offset */
|
||||||
EMPTY_HOWTO (29),
|
HOWTO (R_C6000_PCR_H16, /* type */
|
||||||
EMPTY_HOWTO (30),
|
16, /* rightshift */
|
||||||
|
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||||
|
16, /* bitsize */
|
||||||
|
TRUE, /* pc_relative */
|
||||||
|
7, /* bitpos */
|
||||||
|
complain_overflow_dont,/* complain_on_overflow */
|
||||||
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
|
"R_C6000_PCR_H16", /* name */
|
||||||
|
FALSE, /* partial_inplace */
|
||||||
|
0, /* src_mask */
|
||||||
|
0x007fff80, /* dst_mask */
|
||||||
|
TRUE), /* pcrel_offset */
|
||||||
|
HOWTO (R_C6000_PCR_L16, /* type */
|
||||||
|
0, /* rightshift */
|
||||||
|
2, /* size (0 = byte, 1 = short, 2 = long) */
|
||||||
|
16, /* bitsize */
|
||||||
|
TRUE, /* pc_relative */
|
||||||
|
7, /* bitpos */
|
||||||
|
complain_overflow_dont,/* complain_on_overflow */
|
||||||
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
|
"R_C6000_PCR_L16", /* name */
|
||||||
|
FALSE, /* partial_inplace */
|
||||||
|
0, /* src_mask */
|
||||||
|
0x007fff80, /* dst_mask */
|
||||||
|
TRUE), /* pcrel_offset */
|
||||||
EMPTY_HOWTO (31),
|
EMPTY_HOWTO (31),
|
||||||
EMPTY_HOWTO (32),
|
EMPTY_HOWTO (32),
|
||||||
EMPTY_HOWTO (33),
|
EMPTY_HOWTO (33),
|
||||||
@ -1112,8 +1136,8 @@ static reloc_howto_type elf32_tic6x_howto_table_rel[] =
|
|||||||
0, /* src_mask */
|
0, /* src_mask */
|
||||||
0xffffffff, /* dst_mask */
|
0xffffffff, /* dst_mask */
|
||||||
FALSE), /* pcrel_offset */
|
FALSE), /* pcrel_offset */
|
||||||
EMPTY_HOWTO (29),
|
EMPTY_HOWTO (R_C6000_PCR_H16),
|
||||||
EMPTY_HOWTO (30),
|
EMPTY_HOWTO (R_C6000_PCR_L16),
|
||||||
EMPTY_HOWTO (31),
|
EMPTY_HOWTO (31),
|
||||||
EMPTY_HOWTO (32),
|
EMPTY_HOWTO (32),
|
||||||
EMPTY_HOWTO (33),
|
EMPTY_HOWTO (33),
|
||||||
@ -2264,7 +2288,7 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
|
|||||||
Elf_Internal_Sym *sym;
|
Elf_Internal_Sym *sym;
|
||||||
asection *sec;
|
asection *sec;
|
||||||
struct elf_link_hash_entry *h;
|
struct elf_link_hash_entry *h;
|
||||||
bfd_vma off, relocation;
|
bfd_vma off, off2, relocation;
|
||||||
bfd_boolean unresolved_reloc;
|
bfd_boolean unresolved_reloc;
|
||||||
bfd_reloc_status_type r;
|
bfd_reloc_status_type r;
|
||||||
struct bfd_link_hash_entry *sbh;
|
struct bfd_link_hash_entry *sbh;
|
||||||
@ -2378,6 +2402,20 @@ elf32_tic6x_relocate_section (bfd *output_bfd,
|
|||||||
unresolved_reloc = FALSE;
|
unresolved_reloc = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case R_C6000_PCR_H16:
|
||||||
|
case R_C6000_PCR_L16:
|
||||||
|
off = (input_section->output_section->vma
|
||||||
|
+ input_section->output_offset
|
||||||
|
+ rel->r_offset);
|
||||||
|
/* These must be calculated as R = S - FP(FP(PC) - A).
|
||||||
|
PC, here, is the value we just computed in OFF. RELOCATION
|
||||||
|
has the address of S + A. */
|
||||||
|
relocation -= rel->r_addend;
|
||||||
|
off2 = ((off & ~(bfd_vma)0x1f) - rel->r_addend) & (bfd_vma)~0x1f;
|
||||||
|
off2 = relocation - off2;
|
||||||
|
relocation = off + off2;
|
||||||
|
break;
|
||||||
|
|
||||||
case R_C6000_DSBT_INDEX:
|
case R_C6000_DSBT_INDEX:
|
||||||
relocation = elf32_tic6x_hash_table (info)->params.dsbt_index;
|
relocation = elf32_tic6x_hash_table (info)->params.dsbt_index;
|
||||||
if (!info->shared || relocation != 0)
|
if (!info->shared || relocation != 0)
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
|
2011-05-20 Bernd Schmidt <bernds@codesourcery.com>
|
||||||
|
|
||||||
|
* config/tc-tic6x.c (tic6x_operators): Add "pcr_offset".
|
||||||
|
(tic6x_parse_name): Handle it.
|
||||||
|
(tic6x_fix_new_exp): Handle O_pcr_offset.
|
||||||
|
(tic6x_fix_adjustable): Return 0 for the new relocs.
|
||||||
|
(md_apply_fix): Handle them.
|
||||||
|
(tc_gen_reloc): Likewise.
|
||||||
|
* config/tc-tic6x.h (tic6x_fix_info): Add a fix_subsy member.
|
||||||
|
|
||||||
2011-05-18 Nick Clifton <nickc@redhat.com>
|
2011-05-18 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR gas/12754
|
PR gas/12754
|
||||||
|
@ -1738,6 +1738,8 @@ static const tic6x_operator_table tic6x_operators[] = {
|
|||||||
{ "dpr_hword", O_dpr_hword },
|
{ "dpr_hword", O_dpr_hword },
|
||||||
#define O_dpr_word O_md6
|
#define O_dpr_word O_md6
|
||||||
{ "dpr_word", O_dpr_word },
|
{ "dpr_word", O_dpr_word },
|
||||||
|
#define O_pcr_offset O_md7
|
||||||
|
{ "pcr_offset", O_pcr_offset }
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Parse a name in some machine-specific way. Used on C6X to handle
|
/* Parse a name in some machine-specific way. Used on C6X to handle
|
||||||
@ -1752,7 +1754,7 @@ tic6x_parse_name (const char *name, expressionS *exprP,
|
|||||||
const char *inner_name;
|
const char *inner_name;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
operatorT op = O_illegal;
|
operatorT op = O_illegal;
|
||||||
symbolS *sym;
|
symbolS *sym, *op_sym = NULL;
|
||||||
|
|
||||||
if (*name != '$')
|
if (*name != '$')
|
||||||
return 0;
|
return 0;
|
||||||
@ -1791,6 +1793,37 @@ tic6x_parse_name (const char *name, expressionS *exprP,
|
|||||||
name_end = p;
|
name_end = p;
|
||||||
skip_whitespace (p);
|
skip_whitespace (p);
|
||||||
|
|
||||||
|
if (op == O_pcr_offset)
|
||||||
|
{
|
||||||
|
char *op_name_start, *op_name_end;
|
||||||
|
|
||||||
|
if (*p != ',')
|
||||||
|
{
|
||||||
|
*input_line_pointer = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
p++;
|
||||||
|
skip_whitespace (p);
|
||||||
|
|
||||||
|
if (!is_name_beginner (*p))
|
||||||
|
{
|
||||||
|
*input_line_pointer = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
op_name_start = p;
|
||||||
|
p++;
|
||||||
|
while (is_part_of_name (*p))
|
||||||
|
p++;
|
||||||
|
op_name_end = p;
|
||||||
|
skip_whitespace (p);
|
||||||
|
|
||||||
|
c = *op_name_end;
|
||||||
|
*op_name_end = 0;
|
||||||
|
op_sym = symbol_find_or_make (op_name_start);
|
||||||
|
*op_name_end = c;
|
||||||
|
}
|
||||||
|
|
||||||
if (*p != ')')
|
if (*p != ')')
|
||||||
{
|
{
|
||||||
*input_line_pointer = 0;
|
*input_line_pointer = 0;
|
||||||
@ -1815,7 +1848,7 @@ tic6x_parse_name (const char *name, expressionS *exprP,
|
|||||||
exprP->X_op = op;
|
exprP->X_op = op;
|
||||||
exprP->X_add_symbol = sym;
|
exprP->X_add_symbol = sym;
|
||||||
exprP->X_add_number = 0;
|
exprP->X_add_number = 0;
|
||||||
exprP->X_op_symbol = NULL;
|
exprP->X_op_symbol = op_sym;
|
||||||
exprP->X_md = 0;
|
exprP->X_md = 0;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
@ -1833,6 +1866,7 @@ tic6x_fix_new_exp (fragS *frag, int where, int size, expressionS *exp,
|
|||||||
bfd_boolean fix_adda)
|
bfd_boolean fix_adda)
|
||||||
{
|
{
|
||||||
bfd_reloc_code_real_type new_reloc = BFD_RELOC_UNUSED;
|
bfd_reloc_code_real_type new_reloc = BFD_RELOC_UNUSED;
|
||||||
|
symbolS *subsy = NULL;
|
||||||
fixS *fix;
|
fixS *fix;
|
||||||
|
|
||||||
switch (exp->X_op)
|
switch (exp->X_op)
|
||||||
@ -1935,6 +1969,25 @@ tic6x_fix_new_exp (fragS *frag, int where, int size, expressionS *exp,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case O_pcr_offset:
|
||||||
|
subsy = exp->X_op_symbol;
|
||||||
|
switch (r_type)
|
||||||
|
{
|
||||||
|
case BFD_RELOC_C6000_ABS_S16:
|
||||||
|
case BFD_RELOC_C6000_ABS_L16:
|
||||||
|
new_reloc = BFD_RELOC_C6000_PCR_L16;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case BFD_RELOC_C6000_ABS_H16:
|
||||||
|
new_reloc = BFD_RELOC_C6000_PCR_H16;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
as_bad (_("$PCR_OFFSET not supported in this context"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case O_symbol:
|
case O_symbol:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1952,6 +2005,7 @@ tic6x_fix_new_exp (fragS *frag, int where, int size, expressionS *exp,
|
|||||||
else
|
else
|
||||||
fix = fix_new (frag, where, size, exp->X_add_symbol, exp->X_add_number,
|
fix = fix_new (frag, where, size, exp->X_add_symbol, exp->X_add_number,
|
||||||
pcrel, new_reloc);
|
pcrel, new_reloc);
|
||||||
|
fix->tc_fix_data.fix_subsy = subsy;
|
||||||
fix->tc_fix_data.fix_adda = fix_adda;
|
fix->tc_fix_data.fix_adda = fix_adda;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1991,6 +2045,7 @@ void
|
|||||||
tic6x_init_fix_data (fixS *fixP)
|
tic6x_init_fix_data (fixS *fixP)
|
||||||
{
|
{
|
||||||
fixP->tc_fix_data.fix_adda = FALSE;
|
fixP->tc_fix_data.fix_adda = FALSE;
|
||||||
|
fixP->tc_fix_data.fix_subsy = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return true if the fix can be handled by GAS, false if it must
|
/* Return true if the fix can be handled by GAS, false if it must
|
||||||
@ -2011,6 +2066,10 @@ tic6x_fix_adjustable (fixS *fixP)
|
|||||||
case BFD_RELOC_C6000_PREL31:
|
case BFD_RELOC_C6000_PREL31:
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
case BFD_RELOC_C6000_PCR_H16:
|
||||||
|
case BFD_RELOC_C6000_PCR_L16:
|
||||||
|
return 0;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -3823,6 +3882,19 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
|
|||||||
abort ();
|
abort ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case BFD_RELOC_C6000_PCR_H16:
|
||||||
|
case BFD_RELOC_C6000_PCR_L16:
|
||||||
|
if (fixP->fx_done || !seg->use_rela_p)
|
||||||
|
{
|
||||||
|
offsetT newval = md_chars_to_number (buf, 4);
|
||||||
|
int shift = fixP->fx_r_type == BFD_RELOC_C6000_PCR_H16 ? 16 : 0;
|
||||||
|
|
||||||
|
MODIFY_VALUE (newval, value, shift, 7, 16);
|
||||||
|
|
||||||
|
md_number_to_chars (buf, newval, 4);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case BFD_RELOC_C6000_SBR_U15_B:
|
case BFD_RELOC_C6000_SBR_U15_B:
|
||||||
if (fixP->fx_done || !seg->use_rela_p)
|
if (fixP->fx_done || !seg->use_rela_p)
|
||||||
{
|
{
|
||||||
@ -4437,7 +4509,24 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
|
|||||||
if (!bfd_is_com_section (symbol))
|
if (!bfd_is_com_section (symbol))
|
||||||
reloc->addend -= symbol->value;
|
reloc->addend -= symbol->value;
|
||||||
}
|
}
|
||||||
|
if (r_type == BFD_RELOC_C6000_PCR_H16
|
||||||
|
|| r_type == BFD_RELOC_C6000_PCR_L16)
|
||||||
|
{
|
||||||
|
symbolS *t = fixp->tc_fix_data.fix_subsy;
|
||||||
|
segT sub_symbol_segment;
|
||||||
|
|
||||||
|
resolve_symbol_value (t);
|
||||||
|
sub_symbol_segment = S_GET_SEGMENT (t);
|
||||||
|
if (sub_symbol_segment == undefined_section)
|
||||||
|
as_bad_where (fixp->fx_file, fixp->fx_line,
|
||||||
|
_("undefined symbol %s in PCR relocation"),
|
||||||
|
S_GET_NAME (t));
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reloc->addend = reloc->address & ~0x1F;
|
||||||
|
reloc->addend -= S_GET_VALUE (t);
|
||||||
|
}
|
||||||
|
}
|
||||||
return reloc;
|
return reloc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,6 +142,9 @@ typedef struct
|
|||||||
instruction, whereas a non-constant represents a DP-relative
|
instruction, whereas a non-constant represents a DP-relative
|
||||||
value counting in the appropriate units). */
|
value counting in the appropriate units). */
|
||||||
bfd_boolean fix_adda;
|
bfd_boolean fix_adda;
|
||||||
|
/* The symbol to be subtracted in case of a PCR_H16 or PCR_L16
|
||||||
|
reloc. */
|
||||||
|
symbolS *fix_subsy;
|
||||||
} tic6x_fix_info;
|
} tic6x_fix_info;
|
||||||
#define TC_FIX_TYPE tic6x_fix_info
|
#define TC_FIX_TYPE tic6x_fix_info
|
||||||
#define TC_INIT_FIX_DATA(fixP) tic6x_init_fix_data (fixP)
|
#define TC_INIT_FIX_DATA(fixP) tic6x_init_fix_data (fixP)
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
2011-05-20 Bernd Schmidt <bernds@codesourcery.com>
|
||||||
|
|
||||||
|
* gas/tic6x/pcr-relocs.d: New test.
|
||||||
|
* gas/tic6x/pcr-relocs.s: New test.
|
||||||
|
* gas/tic6x/pcr-relocs-undef.d: New test.
|
||||||
|
* gas/tic6x/pcr-relocs-undef.s: New test.
|
||||||
|
* gas/tic6x/reloc-bad-2.s: Update for pcr_offset.
|
||||||
|
* gas/tic6x/reloc-bad-2.l: Update for pcr_offset.
|
||||||
|
|
||||||
2011-05-18 Nick Clifton <nickc@redhat.com>
|
2011-05-18 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* gas/arm/req.l: Updated expected warning message.
|
* gas/arm/req.l: Updated expected warning message.
|
||||||
|
4
gas/testsuite/gas/tic6x/pcr-relocs-undef.d
Normal file
4
gas/testsuite/gas/tic6x/pcr-relocs-undef.d
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#name: C6X PCR relocs against undefined symbol
|
||||||
|
#as:
|
||||||
|
#source: pcr-relocs-undef.s
|
||||||
|
#error: undefined symbol
|
3
gas/testsuite/gas/tic6x/pcr-relocs-undef.s
Normal file
3
gas/testsuite/gas/tic6x/pcr-relocs-undef.s
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
.text
|
||||||
|
.align 5
|
||||||
|
mvk .s2 $PCR_OFFSET (S0,L1), b2
|
31
gas/testsuite/gas/tic6x/pcr-relocs.d
Normal file
31
gas/testsuite/gas/tic6x/pcr-relocs.d
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#objdump: -dr --prefix-addresses --show-raw-insn
|
||||||
|
#name: C6X PCR H16/L16 relocs
|
||||||
|
#as: -mlittle-endian
|
||||||
|
|
||||||
|
.*: *file format elf32-tic6x-le
|
||||||
|
|
||||||
|
Disassembly of section \.text:
|
||||||
|
0+00 <[^>]*> 00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
0+04 <[^>]*> 00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
0+08 <[^>]*> 00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
0+0c <[^>]*> 004003e2[ \t]+mvc \.S2 pce1,b0
|
||||||
|
0+10 <[^>]*> 01000264[ \t]+ldw \.D1T1 \*\+a0\(0\),a2
|
||||||
|
0+14 <[^>]*> 0100002a[ \t]+mvk \.S2 0,b2
|
||||||
|
[ \t]+14: R_C6000_PCR_L16 S0\+0xfffffff4
|
||||||
|
0+18 <[^>]*> 0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
[ \t]+18: R_C6000_PCR_H16 S0\+0xfffffff4
|
||||||
|
0+1c <[^>]*> 0100002a[ \t]+mvk \.S2 0,b2
|
||||||
|
[ \t]+1c: R_C6000_PCR_L16 S0\+0xffffffc8
|
||||||
|
0+20 <[^>]*> 0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
[ \t]+20: R_C6000_PCR_H16 S0\+0xffffffe8
|
||||||
|
0+24 <[^>]*> 0100002a[ \t]+mvk \.S2 0,b2
|
||||||
|
[ \t]+24: R_C6000_PCR_L16 S1\+0x14
|
||||||
|
0+28 <[^>]*> 0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
[ \t]+28: R_C6000_PCR_H16 S1\+0x14
|
||||||
|
0+2c <[^>]*> 0100002a[ \t]+mvk \.S2 0,b2
|
||||||
|
[ \t]+2c: R_C6000_PCR_L16 S1\+0xffffffe8
|
||||||
|
0+30 <[^>]*> 0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
[ \t]+30: R_C6000_PCR_H16 S1\+0xffffffe8
|
||||||
|
0+34 <[^>]*> 00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
0+38 <[^>]*> 004003e2[ \t]+mvc \.S2 pce1,b0
|
||||||
|
0+3c <[^>]*> 00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
25
gas/testsuite/gas/tic6x/pcr-relocs.s
Normal file
25
gas/testsuite/gas/tic6x/pcr-relocs.s
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
.text
|
||||||
|
.align 5
|
||||||
|
L0:
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
L1:
|
||||||
|
MVC .s2 PCE1, b0
|
||||||
|
ldw .d1t1 *a0,a2
|
||||||
|
mvk .s2 $PCR_OFFSET (S0,L1), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S0,L1), b2
|
||||||
|
mvk .s2 $PCR_OFFSET (S0,L2), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S0,L2), b2
|
||||||
|
mvkl .s2 $PCR_OFFSET (S1,L1), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S1,L1), b2
|
||||||
|
mvkl .s2 $PCR_OFFSET (S1,L2), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S1,L2), b2
|
||||||
|
|
||||||
|
S0:
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
L2:
|
||||||
|
MVC .s2 PCE1, b0
|
||||||
|
|
||||||
|
S1:
|
||||||
|
ldw .d1t1 *a0,a1
|
@ -5,145 +5,168 @@
|
|||||||
[^:]*:9: Error: \$DPR_BYTE not supported in this context
|
[^:]*:9: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:10: Error: \$DPR_HWORD not supported in this context
|
[^:]*:10: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:11: Error: \$DPR_WORD not supported in this context
|
[^:]*:11: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:16: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:12: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:17: Error: \$GOT not supported in this context
|
[^:]*:17: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:18: Error: \$DPR_GOT not supported in this context
|
[^:]*:18: Error: \$GOT not supported in this context
|
||||||
[^:]*:19: Error: \$DPR_BYTE not supported in this context
|
[^:]*:19: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:20: Error: \$DPR_HWORD not supported in this context
|
[^:]*:20: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:21: Error: \$DPR_WORD not supported in this context
|
[^:]*:21: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:22: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:22: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:23: Error: \$GOT not supported in this context
|
[^:]*:23: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:24: Error: \$DPR_GOT not supported in this context
|
[^:]*:24: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:25: Error: \$DPR_BYTE not supported in this context
|
[^:]*:25: Error: \$GOT not supported in this context
|
||||||
[^:]*:26: Error: \$DPR_HWORD not supported in this context
|
[^:]*:26: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:27: Error: \$DPR_WORD not supported in this context
|
[^:]*:27: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:28: Error: \$DPR_GOT not supported in this context
|
[^:]*:28: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:29: Error: \$DPR_BYTE not supported in this context
|
[^:]*:29: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:30: Error: \$DPR_HWORD not supported in this context
|
[^:]*:30: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:31: Error: \$DPR_WORD not supported in this context
|
[^:]*:31: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:32: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:32: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:33: Error: \$GOT not supported in this context
|
[^:]*:33: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:34: Error: \$DPR_GOT not supported in this context
|
[^:]*:34: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:35: Error: \$DPR_HWORD not supported in this context
|
[^:]*:35: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:36: Error: \$DPR_WORD not supported in this context
|
[^:]*:36: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:37: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:37: Error: \$GOT not supported in this context
|
||||||
[^:]*:38: Error: \$GOT not supported in this context
|
[^:]*:38: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:39: Error: \$DPR_GOT not supported in this context
|
[^:]*:39: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:40: Error: \$DPR_HWORD not supported in this context
|
[^:]*:40: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:41: Error: \$DPR_WORD not supported in this context
|
|
||||||
[^:]*:42: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:42: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:43: Error: \$GOT not supported in this context
|
[^:]*:43: Error: \$GOT not supported in this context
|
||||||
[^:]*:44: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:44: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:45: Error: \$GOT not supported in this context
|
[^:]*:45: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:46: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:46: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:47: Error: \$GOT not supported in this context
|
[^:]*:47: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:48: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:48: Error: \$GOT not supported in this context
|
||||||
[^:]*:49: Error: \$GOT not supported in this context
|
[^:]*:49: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:50: Error: \$DPR_GOT not supported in this context
|
[^:]*:50: Error: \$GOT not supported in this context
|
||||||
[^:]*:51: Error: \$DPR_BYTE not supported in this context
|
[^:]*:51: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:52: Error: \$DPR_HWORD not supported in this context
|
[^:]*:52: Error: \$GOT not supported in this context
|
||||||
[^:]*:53: Error: \$DPR_WORD not supported in this context
|
[^:]*:53: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:54: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:54: Error: \$GOT not supported in this context
|
||||||
[^:]*:55: Error: \$GOT not supported in this context
|
[^:]*:55: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:56: Error: \$DPR_GOT not supported in this context
|
[^:]*:56: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:57: Error: \$DPR_BYTE not supported in this context
|
[^:]*:57: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:58: Error: \$DPR_HWORD not supported in this context
|
[^:]*:58: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:59: Error: \$DPR_WORD not supported in this context
|
[^:]*:59: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:60: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:60: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:61: Error: \$GOT not supported in this context
|
[^:]*:61: Error: \$GOT not supported in this context
|
||||||
[^:]*:62: Error: \$DPR_GOT not supported in this context
|
[^:]*:62: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:63: Error: \$DPR_BYTE not supported in this context
|
[^:]*:63: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:64: Error: \$DPR_HWORD not supported in this context
|
[^:]*:64: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:65: Error: \$DPR_WORD not supported in this context
|
[^:]*:65: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:66: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:66: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:67: Error: \$GOT not supported in this context
|
[^:]*:67: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:68: Error: \$DPR_GOT not supported in this context
|
[^:]*:68: Error: \$GOT not supported in this context
|
||||||
[^:]*:69: Error: \$DPR_BYTE not supported in this context
|
[^:]*:69: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:70: Error: \$DPR_HWORD not supported in this context
|
[^:]*:70: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:71: Error: \$DPR_WORD not supported in this context
|
[^:]*:71: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:72: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:72: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:73: Error: \$GOT not supported in this context
|
[^:]*:73: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:74: Error: \$DPR_GOT not supported in this context
|
[^:]*:74: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:75: Error: \$DPR_BYTE not supported in this context
|
[^:]*:75: Error: \$GOT not supported in this context
|
||||||
[^:]*:76: Error: \$DPR_HWORD not supported in this context
|
[^:]*:76: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:77: Error: \$DPR_WORD not supported in this context
|
[^:]*:77: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:78: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:78: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:79: Error: \$GOT not supported in this context
|
[^:]*:79: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:80: Error: \$DPR_GOT not supported in this context
|
[^:]*:80: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:81: Error: \$DPR_BYTE not supported in this context
|
[^:]*:81: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:82: Error: \$DPR_HWORD not supported in this context
|
[^:]*:82: Error: \$GOT not supported in this context
|
||||||
[^:]*:83: Error: \$DPR_WORD not supported in this context
|
[^:]*:83: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:84: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:84: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:85: Error: \$GOT not supported in this context
|
[^:]*:85: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:86: Error: \$DPR_GOT not supported in this context
|
[^:]*:86: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:87: Error: \$DPR_BYTE not supported in this context
|
[^:]*:87: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:88: Error: \$DPR_HWORD not supported in this context
|
[^:]*:88: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:89: Error: \$DPR_WORD not supported in this context
|
[^:]*:89: Error: \$GOT not supported in this context
|
||||||
[^:]*:90: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:90: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:91: Error: \$GOT not supported in this context
|
[^:]*:91: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:92: Error: \$DPR_GOT not supported in this context
|
[^:]*:92: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:93: Error: \$DPR_BYTE not supported in this context
|
[^:]*:93: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:94: Error: \$DPR_HWORD not supported in this context
|
[^:]*:94: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:95: Error: \$DPR_WORD not supported in this context
|
[^:]*:95: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:96: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:96: Error: \$GOT not supported in this context
|
||||||
[^:]*:97: Error: \$GOT not supported in this context
|
[^:]*:97: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:98: Error: \$DPR_GOT not supported in this context
|
[^:]*:98: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:99: Error: \$DPR_BYTE not supported in this context
|
[^:]*:99: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:100: Error: \$DPR_HWORD not supported in this context
|
[^:]*:100: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:101: Error: \$DPR_WORD not supported in this context
|
[^:]*:101: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:102: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:102: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:103: Error: \$GOT not supported in this context
|
[^:]*:103: Error: \$GOT not supported in this context
|
||||||
[^:]*:104: Error: \$DPR_GOT not supported in this context
|
[^:]*:104: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:105: Error: \$DPR_BYTE not supported in this context
|
[^:]*:105: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:106: Error: \$DPR_HWORD not supported in this context
|
[^:]*:106: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:107: Error: \$DPR_WORD not supported in this context
|
[^:]*:107: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:108: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:108: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:109: Error: \$GOT not supported in this context
|
[^:]*:109: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:110: Error: \$DPR_GOT not supported in this context
|
[^:]*:110: Error: \$GOT not supported in this context
|
||||||
[^:]*:111: Error: \$DPR_BYTE not supported in this context
|
[^:]*:111: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:112: Error: \$DPR_HWORD not supported in this context
|
[^:]*:112: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:113: Error: \$DPR_WORD not supported in this context
|
[^:]*:113: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:114: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:114: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:115: Error: \$GOT not supported in this context
|
[^:]*:115: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:116: Error: \$DPR_GOT not supported in this context
|
[^:]*:116: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:117: Error: \$DPR_BYTE not supported in this context
|
[^:]*:117: Error: \$GOT not supported in this context
|
||||||
[^:]*:118: Error: \$DPR_HWORD not supported in this context
|
[^:]*:118: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:119: Error: \$DPR_WORD not supported in this context
|
[^:]*:119: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:120: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:120: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:121: Error: \$GOT not supported in this context
|
[^:]*:121: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:122: Error: \$DPR_GOT not supported in this context
|
[^:]*:122: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:123: Error: \$DPR_BYTE not supported in this context
|
[^:]*:123: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:124: Error: \$DPR_HWORD not supported in this context
|
[^:]*:124: Error: \$GOT not supported in this context
|
||||||
[^:]*:125: Error: \$DPR_WORD not supported in this context
|
[^:]*:125: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:126: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:126: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:127: Error: \$GOT not supported in this context
|
[^:]*:127: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:128: Error: \$DPR_GOT not supported in this context
|
[^:]*:128: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:129: Error: \$DPR_BYTE not supported in this context
|
[^:]*:129: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:130: Error: \$DPR_HWORD not supported in this context
|
[^:]*:130: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:131: Error: \$DPR_WORD not supported in this context
|
[^:]*:131: Error: \$GOT not supported in this context
|
||||||
[^:]*:132: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:132: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:133: Error: \$GOT not supported in this context
|
[^:]*:133: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:134: Error: \$DPR_GOT not supported in this context
|
[^:]*:134: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:135: Error: \$DPR_BYTE not supported in this context
|
[^:]*:135: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:136: Error: \$DPR_HWORD not supported in this context
|
[^:]*:136: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:137: Error: \$DPR_WORD not supported in this context
|
[^:]*:137: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:138: Error: \$DPR_GOT not supported in this context
|
[^:]*:138: Error: \$GOT not supported in this context
|
||||||
[^:]*:139: Error: \$DPR_BYTE not supported in this context
|
[^:]*:139: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:140: Error: \$DPR_HWORD not supported in this context
|
[^:]*:140: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:141: Error: \$DPR_WORD not supported in this context
|
[^:]*:141: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:142: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:142: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:143: Error: \$GOT not supported in this context
|
[^:]*:143: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:144: Error: \$DPR_GOT not supported in this context
|
[^:]*:144: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:145: Error: \$DPR_BYTE not supported in this context
|
[^:]*:145: Error: \$GOT not supported in this context
|
||||||
[^:]*:146: Error: \$DPR_HWORD not supported in this context
|
[^:]*:146: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:147: Error: \$DPR_WORD not supported in this context
|
[^:]*:147: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:148: Error: \$DSBT_INDEX not supported in this context
|
[^:]*:148: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:149: Error: \$GOT not supported in this context
|
[^:]*:149: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:150: Error: \$DPR_GOT not supported in this context
|
[^:]*:150: Error: \$PCR_OFFSET not supported in this context
|
||||||
[^:]*:151: Error: \$DPR_BYTE not supported in this context
|
[^:]*:151: Error: \$DSBT_INDEX not supported in this context
|
||||||
[^:]*:152: Error: \$DPR_HWORD not supported in this context
|
[^:]*:152: Error: \$GOT not supported in this context
|
||||||
[^:]*:153: Error: \$DPR_WORD not supported in this context
|
[^:]*:153: Error: \$DPR_GOT not supported in this context
|
||||||
[^:]*:154: Error: \$DPR_GOT not supported in this context
|
[^:]*:154: Error: \$DPR_BYTE not supported in this context
|
||||||
[^:]*:155: Error: \$DPR_BYTE not supported in this context
|
[^:]*:155: Error: \$DPR_HWORD not supported in this context
|
||||||
[^:]*:156: Error: \$DPR_HWORD not supported in this context
|
[^:]*:156: Error: \$DPR_WORD not supported in this context
|
||||||
[^:]*:157: Error: \$DPR_WORD not supported in this context
|
[^:]*:157: Error: \$PCR_OFFSET not supported in this context
|
||||||
|
[^:]*:158: Error: \$DPR_GOT not supported in this context
|
||||||
|
[^:]*:159: Error: \$DPR_BYTE not supported in this context
|
||||||
|
[^:]*:160: Error: \$DPR_HWORD not supported in this context
|
||||||
|
[^:]*:161: Error: \$DPR_WORD not supported in this context
|
||||||
|
[^:]*:162: Error: \$PCR_OFFSET not supported in this context
|
||||||
|
[^:]*:163: Error: \$DSBT_INDEX not supported in this context
|
||||||
|
[^:]*:164: Error: \$GOT not supported in this context
|
||||||
|
[^:]*:165: Error: \$DPR_GOT not supported in this context
|
||||||
|
[^:]*:166: Error: \$DPR_BYTE not supported in this context
|
||||||
|
[^:]*:167: Error: \$DPR_HWORD not supported in this context
|
||||||
|
[^:]*:168: Error: \$DPR_WORD not supported in this context
|
||||||
|
[^:]*:169: Error: \$PCR_OFFSET not supported in this context
|
||||||
|
[^:]*:170: Error: \$DSBT_INDEX not supported in this context
|
||||||
|
[^:]*:171: Error: \$GOT not supported in this context
|
||||||
|
[^:]*:172: Error: \$DPR_GOT not supported in this context
|
||||||
|
[^:]*:173: Error: \$DPR_BYTE not supported in this context
|
||||||
|
[^:]*:174: Error: \$DPR_HWORD not supported in this context
|
||||||
|
[^:]*:175: Error: \$DPR_WORD not supported in this context
|
||||||
|
[^:]*:176: Error: \$PCR_OFFSET not supported in this context
|
||||||
|
[^:]*:177: Error: \$DPR_GOT not supported in this context
|
||||||
|
[^:]*:178: Error: \$DPR_BYTE not supported in this context
|
||||||
|
[^:]*:179: Error: \$DPR_HWORD not supported in this context
|
||||||
|
[^:]*:180: Error: \$DPR_WORD not supported in this context
|
||||||
|
[^:]*:181: Error: \$PCR_OFFSET not supported in this context
|
||||||
|
@ -9,6 +9,7 @@ d:
|
|||||||
.word $dpr_byte(b)
|
.word $dpr_byte(b)
|
||||||
.word $dpr_hword(a)
|
.word $dpr_hword(a)
|
||||||
.word $dpr_word(b)
|
.word $dpr_word(b)
|
||||||
|
.word $pcr_offset(b,f)
|
||||||
.text
|
.text
|
||||||
.nocmp
|
.nocmp
|
||||||
.globl f
|
.globl f
|
||||||
@ -19,21 +20,25 @@ f:
|
|||||||
addab .D1X b14,$DPR_BYTE(b),a5
|
addab .D1X b14,$DPR_BYTE(b),a5
|
||||||
addab .D1X b14,$DPR_HWORD(b),a5
|
addab .D1X b14,$DPR_HWORD(b),a5
|
||||||
addab .D1X b14,$DPR_WORD(b),a5
|
addab .D1X b14,$DPR_WORD(b),a5
|
||||||
|
addab .D1X b14,$PCR_OFFSET(b,f),a5
|
||||||
addah .D1X b14,$dsbt_index(__c6xabi_DSBT_BASE),a5
|
addah .D1X b14,$dsbt_index(__c6xabi_DSBT_BASE),a5
|
||||||
addah .D1X b14,$GOT(b),a5
|
addah .D1X b14,$GOT(b),a5
|
||||||
addah .D1X b14,$DPR_GOT(b),a5
|
addah .D1X b14,$DPR_GOT(b),a5
|
||||||
addah .D1X b14,$DPR_BYTE(b),a5
|
addah .D1X b14,$DPR_BYTE(b),a5
|
||||||
addah .D1X b14,$DPR_HWORD(b),a5
|
addah .D1X b14,$DPR_HWORD(b),a5
|
||||||
addah .D1X b14,$DPR_WORD(b),a5
|
addah .D1X b14,$DPR_WORD(b),a5
|
||||||
|
addah .D1X b14,$PCR_OFFSET(b,f),a5
|
||||||
addaw .D1X b14,$DPR_GOT(b),a5
|
addaw .D1X b14,$DPR_GOT(b),a5
|
||||||
addaw .D1X b14,$DPR_BYTE(b),a5
|
addaw .D1X b14,$DPR_BYTE(b),a5
|
||||||
addaw .D1X b14,$DPR_HWORD(b),a5
|
addaw .D1X b14,$DPR_HWORD(b),a5
|
||||||
addaw .D1X b14,$DPR_WORD(b),a5
|
addaw .D1X b14,$DPR_WORD(b),a5
|
||||||
|
addaw .D1X b14,$PCR_OFFSET(b,f),a5
|
||||||
addk .S1 $dsbt_index(__c6xabi_DSBT_BASE),a7
|
addk .S1 $dsbt_index(__c6xabi_DSBT_BASE),a7
|
||||||
addk .S1 $got(b),a7
|
addk .S1 $got(b),a7
|
||||||
addk .S1 $dpr_got(b),a7
|
addk .S1 $dpr_got(b),a7
|
||||||
addk .S1 $dpr_hword(b),a7
|
addk .S1 $dpr_hword(b),a7
|
||||||
addk .S1 $dpr_word(b),a7
|
addk .S1 $dpr_word(b),a7
|
||||||
|
addk .S1 $pcr_offset(b,f),a7
|
||||||
mvk .S1 $dsbt_index(__c6xabi_DSBT_BASE),a7
|
mvk .S1 $dsbt_index(__c6xabi_DSBT_BASE),a7
|
||||||
mvk .S1 $got(b),a7
|
mvk .S1 $got(b),a7
|
||||||
mvk .S1 $dpr_got(b),a7
|
mvk .S1 $dpr_got(b),a7
|
||||||
@ -51,107 +56,126 @@ f:
|
|||||||
addkpc .S2 $DPR_BYTE(b),b3,0
|
addkpc .S2 $DPR_BYTE(b),b3,0
|
||||||
addkpc .S2 $DPR_HWORD(b),b3,0
|
addkpc .S2 $DPR_HWORD(b),b3,0
|
||||||
addkpc .S2 $DPR_WORD(b),b3,0
|
addkpc .S2 $DPR_WORD(b),b3,0
|
||||||
|
addkpc .S2 $PCR_OFFSET(b,f),b3,0
|
||||||
b .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
b .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
||||||
b .S1 $GOT(b)
|
b .S1 $GOT(b)
|
||||||
b .S1 $DPR_GOT(b)
|
b .S1 $DPR_GOT(b)
|
||||||
b .S1 $DPR_BYTE(b)
|
b .S1 $DPR_BYTE(b)
|
||||||
b .S1 $DPR_HWORD(b)
|
b .S1 $DPR_HWORD(b)
|
||||||
b .S1 $DPR_WORD(b)
|
b .S1 $DPR_WORD(b)
|
||||||
|
b .S1 $PCR_OFFSET(b,f)
|
||||||
call .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
call .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
||||||
call .S1 $GOT(b)
|
call .S1 $GOT(b)
|
||||||
call .S1 $DPR_GOT(b)
|
call .S1 $DPR_GOT(b)
|
||||||
call .S1 $DPR_BYTE(b)
|
call .S1 $DPR_BYTE(b)
|
||||||
call .S1 $DPR_HWORD(b)
|
call .S1 $DPR_HWORD(b)
|
||||||
call .S1 $DPR_WORD(b)
|
call .S1 $DPR_WORD(b)
|
||||||
|
call .S1 $PCR_OFFSET(b,f)
|
||||||
bdec .S1 $dsbt_index(__c6xabi_DSBT_BASE),a1
|
bdec .S1 $dsbt_index(__c6xabi_DSBT_BASE),a1
|
||||||
bdec .S1 $GOT(b),a1
|
bdec .S1 $GOT(b),a1
|
||||||
bdec .S1 $DPR_GOT(b),a1
|
bdec .S1 $DPR_GOT(b),a1
|
||||||
bdec .S1 $DPR_BYTE(b),a1
|
bdec .S1 $DPR_BYTE(b),a1
|
||||||
bdec .S1 $DPR_HWORD(b),a1
|
bdec .S1 $DPR_HWORD(b),a1
|
||||||
bdec .S1 $DPR_WORD(b),a1
|
bdec .S1 $DPR_WORD(b),a1
|
||||||
|
bdec .S1 $PCR_OFFSET(b,f),a1
|
||||||
bpos .S2 $dsbt_index(__c6xabi_DSBT_BASE),b1
|
bpos .S2 $dsbt_index(__c6xabi_DSBT_BASE),b1
|
||||||
bpos .S2 $GOT(b),b1
|
bpos .S2 $GOT(b),b1
|
||||||
bpos .S2 $DPR_GOT(b),b1
|
bpos .S2 $DPR_GOT(b),b1
|
||||||
bpos .S2 $DPR_BYTE(b),b1
|
bpos .S2 $DPR_BYTE(b),b1
|
||||||
bpos .S2 $DPR_HWORD(b),b1
|
bpos .S2 $DPR_HWORD(b),b1
|
||||||
bpos .S2 $DPR_WORD(b),b1
|
bpos .S2 $DPR_WORD(b),b1
|
||||||
|
bpos .S2 $PCR_OFFSET(b,f),b1
|
||||||
bnop .S1 $dsbt_index(__c6xabi_DSBT_BASE),1
|
bnop .S1 $dsbt_index(__c6xabi_DSBT_BASE),1
|
||||||
bnop .S1 $GOT(b),1
|
bnop .S1 $GOT(b),1
|
||||||
bnop .S1 $DPR_GOT(b),1
|
bnop .S1 $DPR_GOT(b),1
|
||||||
bnop .S1 $DPR_BYTE(b),1
|
bnop .S1 $DPR_BYTE(b),1
|
||||||
bnop .S1 $DPR_HWORD(b),1
|
bnop .S1 $DPR_HWORD(b),1
|
||||||
bnop .S1 $DPR_WORD(b),1
|
bnop .S1 $DPR_WORD(b),1
|
||||||
|
bnop .S1 $PCR_OFFSET(b,f),1
|
||||||
callnop $dsbt_index(__c6xabi_DSBT_BASE),1
|
callnop $dsbt_index(__c6xabi_DSBT_BASE),1
|
||||||
callnop $GOT(b),1
|
callnop $GOT(b),1
|
||||||
callnop $DPR_GOT(b),1
|
callnop $DPR_GOT(b),1
|
||||||
callnop $DPR_BYTE(b),1
|
callnop $DPR_BYTE(b),1
|
||||||
callnop $DPR_HWORD(b),1
|
callnop $DPR_HWORD(b),1
|
||||||
callnop $DPR_WORD(b),1
|
callnop $DPR_WORD(b),1
|
||||||
|
callnop $PCR_OFFSET(b,f),1
|
||||||
callp .S1 $dsbt_index(__c6xabi_DSBT_BASE),a3
|
callp .S1 $dsbt_index(__c6xabi_DSBT_BASE),a3
|
||||||
callp .S1 $GOT(b),a3
|
callp .S1 $GOT(b),a3
|
||||||
callp .S1 $DPR_GOT(b),a3
|
callp .S1 $DPR_GOT(b),a3
|
||||||
callp .S1 $DPR_BYTE(b),a3
|
callp .S1 $DPR_BYTE(b),a3
|
||||||
callp .S1 $DPR_HWORD(b),a3
|
callp .S1 $DPR_HWORD(b),a3
|
||||||
callp .S1 $DPR_WORD(b),a3
|
callp .S1 $DPR_WORD(b),a3
|
||||||
|
callp .S1 $PCR_OFFSET(b,f),a3
|
||||||
callret .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
callret .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
||||||
callret .S1 $GOT(b)
|
callret .S1 $GOT(b)
|
||||||
callret .S1 $DPR_GOT(b)
|
callret .S1 $DPR_GOT(b)
|
||||||
callret .S1 $DPR_BYTE(b)
|
callret .S1 $DPR_BYTE(b)
|
||||||
callret .S1 $DPR_HWORD(b)
|
callret .S1 $DPR_HWORD(b)
|
||||||
callret .S1 $DPR_WORD(b)
|
callret .S1 $DPR_WORD(b)
|
||||||
|
callret .S1 $PCR_OFFSET(b,f)
|
||||||
ret .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
ret .S1 $dsbt_index(__c6xabi_DSBT_BASE)
|
||||||
ret .S1 $GOT(b)
|
ret .S1 $GOT(b)
|
||||||
ret .S1 $DPR_GOT(b)
|
ret .S1 $DPR_GOT(b)
|
||||||
ret .S1 $DPR_BYTE(b)
|
ret .S1 $DPR_BYTE(b)
|
||||||
ret .S1 $DPR_HWORD(b)
|
ret .S1 $DPR_HWORD(b)
|
||||||
ret .S1 $DPR_WORD(b)
|
ret .S1 $DPR_WORD(b)
|
||||||
|
ret .S1 $PCR_OFFSET(b,f)
|
||||||
retp .S1 $dsbt_index(__c6xabi_DSBT_BASE),a3
|
retp .S1 $dsbt_index(__c6xabi_DSBT_BASE),a3
|
||||||
retp .S1 $GOT(b),a3
|
retp .S1 $GOT(b),a3
|
||||||
retp .S1 $DPR_GOT(b),a3
|
retp .S1 $DPR_GOT(b),a3
|
||||||
retp .S1 $DPR_BYTE(b),a3
|
retp .S1 $DPR_BYTE(b),a3
|
||||||
retp .S1 $DPR_HWORD(b),a3
|
retp .S1 $DPR_HWORD(b),a3
|
||||||
retp .S1 $DPR_WORD(b),a3
|
retp .S1 $DPR_WORD(b),a3
|
||||||
|
retp .S1 $PCR_OFFSET(b,f),a3
|
||||||
ldb .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
ldb .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
||||||
ldb .D2T2 *+b14($GOT(b)),b1
|
ldb .D2T2 *+b14($GOT(b)),b1
|
||||||
ldb .D2T2 *+b14($DPR_GOT(b)),b1
|
ldb .D2T2 *+b14($DPR_GOT(b)),b1
|
||||||
ldb .D2T2 *+b14($DPR_BYTE(b)),b1
|
ldb .D2T2 *+b14($DPR_BYTE(b)),b1
|
||||||
ldb .D2T2 *+b14($DPR_HWORD(b)),b1
|
ldb .D2T2 *+b14($DPR_HWORD(b)),b1
|
||||||
ldb .D2T2 *+b14($DPR_WORD(b)),b1
|
ldb .D2T2 *+b14($DPR_WORD(b)),b1
|
||||||
|
ldb .D2T2 *+b14($PCR_OFFSET(b,f)),b1
|
||||||
ldbu .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
ldbu .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
||||||
ldbu .D2T2 *+b14($GOT(b)),b1
|
ldbu .D2T2 *+b14($GOT(b)),b1
|
||||||
ldbu .D2T2 *+b14($DPR_GOT(b)),b1
|
ldbu .D2T2 *+b14($DPR_GOT(b)),b1
|
||||||
ldbu .D2T2 *+b14($DPR_BYTE(b)),b1
|
ldbu .D2T2 *+b14($DPR_BYTE(b)),b1
|
||||||
ldbu .D2T2 *+b14($DPR_HWORD(b)),b1
|
ldbu .D2T2 *+b14($DPR_HWORD(b)),b1
|
||||||
ldbu .D2T2 *+b14($DPR_WORD(b)),b1
|
ldbu .D2T2 *+b14($DPR_WORD(b)),b1
|
||||||
|
ldbu .D2T2 *+b14($PCR_OFFSET(b,f)),b1
|
||||||
ldh .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
ldh .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
||||||
ldh .D2T2 *+b14($GOT(b)),b1
|
ldh .D2T2 *+b14($GOT(b)),b1
|
||||||
ldh .D2T2 *+b14($DPR_GOT(b)),b1
|
ldh .D2T2 *+b14($DPR_GOT(b)),b1
|
||||||
ldh .D2T2 *+b14($DPR_BYTE(b)),b1
|
ldh .D2T2 *+b14($DPR_BYTE(b)),b1
|
||||||
ldh .D2T2 *+b14($DPR_HWORD(b)),b1
|
ldh .D2T2 *+b14($DPR_HWORD(b)),b1
|
||||||
ldh .D2T2 *+b14($DPR_WORD(b)),b1
|
ldh .D2T2 *+b14($DPR_WORD(b)),b1
|
||||||
|
ldh .D2T2 *+b14($PCR_OFFSET(b,f)),b1
|
||||||
ldhu .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
ldhu .D2T2 *+b14($dsbt_index(__c6xabi_DSBT_BASE)),b1
|
||||||
ldhu .D2T2 *+b14($GOT(b)),b1
|
ldhu .D2T2 *+b14($GOT(b)),b1
|
||||||
ldhu .D2T2 *+b14($DPR_GOT(b)),b1
|
ldhu .D2T2 *+b14($DPR_GOT(b)),b1
|
||||||
ldhu .D2T2 *+b14($DPR_BYTE(b)),b1
|
ldhu .D2T2 *+b14($DPR_BYTE(b)),b1
|
||||||
ldhu .D2T2 *+b14($DPR_HWORD(b)),b1
|
ldhu .D2T2 *+b14($DPR_HWORD(b)),b1
|
||||||
ldhu .D2T2 *+b14($DPR_WORD(b)),b1
|
ldhu .D2T2 *+b14($DPR_WORD(b)),b1
|
||||||
|
ldhu .D2T2 *+b14($PCR_OFFSET(b,f)),b1
|
||||||
ldw .D2T2 *+b14($DPR_GOT(b)),b1
|
ldw .D2T2 *+b14($DPR_GOT(b)),b1
|
||||||
ldw .D2T2 *+b14($DPR_BYTE(b)),b1
|
ldw .D2T2 *+b14($DPR_BYTE(b)),b1
|
||||||
ldw .D2T2 *+b14($DPR_HWORD(b)),b1
|
ldw .D2T2 *+b14($DPR_HWORD(b)),b1
|
||||||
ldw .D2T2 *+b14($DPR_WORD(b)),b1
|
ldw .D2T2 *+b14($DPR_WORD(b)),b1
|
||||||
|
ldw .D2T2 *+b14($PCR_OFFSET(b,f)),b1
|
||||||
stb .D2T2 b1,*+b14($dsbt_index(__c6xabi_DSBT_BASE))
|
stb .D2T2 b1,*+b14($dsbt_index(__c6xabi_DSBT_BASE))
|
||||||
stb .D2T2 b1,*+b14($GOT(b))
|
stb .D2T2 b1,*+b14($GOT(b))
|
||||||
stb .D2T2 b1,*+b14($DPR_GOT(b))
|
stb .D2T2 b1,*+b14($DPR_GOT(b))
|
||||||
stb .D2T2 b1,*+b14($DPR_BYTE(b))
|
stb .D2T2 b1,*+b14($DPR_BYTE(b))
|
||||||
stb .D2T2 b1,*+b14($DPR_HWORD(b))
|
stb .D2T2 b1,*+b14($DPR_HWORD(b))
|
||||||
stb .D2T2 b1,*+b14($DPR_WORD(b))
|
stb .D2T2 b1,*+b14($DPR_WORD(b))
|
||||||
|
stb .D2T2 b1,*+b14($PCR_OFFSET(b,f))
|
||||||
sth .D2T2 b1,*+b14($dsbt_index(__c6xabi_DSBT_BASE))
|
sth .D2T2 b1,*+b14($dsbt_index(__c6xabi_DSBT_BASE))
|
||||||
sth .D2T2 b1,*+b14($GOT(b))
|
sth .D2T2 b1,*+b14($GOT(b))
|
||||||
sth .D2T2 b1,*+b14($DPR_GOT(b))
|
sth .D2T2 b1,*+b14($DPR_GOT(b))
|
||||||
sth .D2T2 b1,*+b14($DPR_BYTE(b))
|
sth .D2T2 b1,*+b14($DPR_BYTE(b))
|
||||||
sth .D2T2 b1,*+b14($DPR_HWORD(b))
|
sth .D2T2 b1,*+b14($DPR_HWORD(b))
|
||||||
sth .D2T2 b1,*+b14($DPR_WORD(b))
|
sth .D2T2 b1,*+b14($DPR_WORD(b))
|
||||||
|
sth .D2T2 b1,*+b14($PCR_OFFSET(b,f))
|
||||||
stw .D2T2 b1,*+b14($DPR_GOT(b))
|
stw .D2T2 b1,*+b14($DPR_GOT(b))
|
||||||
stw .D2T2 b1,*+b14($DPR_BYTE(b))
|
stw .D2T2 b1,*+b14($DPR_BYTE(b))
|
||||||
stw .D2T2 b1,*+b14($DPR_HWORD(b))
|
stw .D2T2 b1,*+b14($DPR_HWORD(b))
|
||||||
stw .D2T2 b1,*+b14($DPR_WORD(b))
|
stw .D2T2 b1,*+b14($DPR_WORD(b))
|
||||||
|
stw .D2T2 b1,*+b14($PCR_OFFSET(b,f))
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2011-05-20 Bernd Schmidt <bernds@codesourcery.com>
|
||||||
|
|
||||||
|
* ld-tic6x/pcr-reloc.d: New test.
|
||||||
|
* ld-tic6x/pcr-reloc.s: New test.
|
||||||
|
|
||||||
2011-05-18 Nick Clifton <nickc@redhat.com>
|
2011-05-18 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR ld/12761
|
PR ld/12761
|
||||||
|
39
ld/testsuite/ld-tic6x/pcr-reloc.d
Normal file
39
ld/testsuite/ld-tic6x/pcr-reloc.d
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#name: C6X PCR relocations
|
||||||
|
#as: -mlittle-endian
|
||||||
|
#ld: -melf32_tic6x_le -Tgeneric.ld
|
||||||
|
#source: pcr-reloc.s
|
||||||
|
#objdump: -dr
|
||||||
|
|
||||||
|
.*: *file format elf32-tic6x-le
|
||||||
|
|
||||||
|
|
||||||
|
Disassembly of section \.text:
|
||||||
|
|
||||||
|
10000000 <[^>]*>:
|
||||||
|
10000000:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
10000004:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
10000008:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
|
||||||
|
1000000c <[^>]*>:
|
||||||
|
1000000c:[ \t]+004003e2[ \t]+mvc \.S2 pce1,b0
|
||||||
|
10000010:[ \t]+01000264[ \t]+ldw \.D1T1 \*\+a0\(0\),a2
|
||||||
|
10000014:[ \t]+01001a2a[ \t]+mvk \.S2 52,b2
|
||||||
|
10000018:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
1000001c:[ \t]+01000a2a[ \t]+mvk \.S2 20,b2
|
||||||
|
10000020:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
10000024:[ \t]+01001e2a[ \t]+mvk \.S2 60,b2
|
||||||
|
10000028:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
1000002c:[ \t]+01000e2a[ \t]+mvk \.S2 28,b2
|
||||||
|
10000030:[ \t]+0100006a[ \t]+mvkh \.S2 0,b2
|
||||||
|
|
||||||
|
10000034 <[^>]*>:
|
||||||
|
10000034:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
|
||||||
|
10000038 <[^>]*>:
|
||||||
|
10000038:[ \t]+004003e2[ \t]+mvc \.S2 pce1,b0
|
||||||
|
|
||||||
|
1000003c <[^>]*>:
|
||||||
|
1000003c:[ \t]+00800264[ \t]+ldw \.D1T1 \*\+a0\(0\),a1
|
||||||
|
10000040:[ \t]+017ff02a[ \t]+mvk \.S2 -32,b2
|
||||||
|
10000044:[ \t]+017fffea[ \t]+mvkh \.S2 4294901760,b2
|
||||||
|
[ \t]*\.\.\.
|
28
ld/testsuite/ld-tic6x/pcr-reloc.s
Normal file
28
ld/testsuite/ld-tic6x/pcr-reloc.s
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
.text
|
||||||
|
.align 5
|
||||||
|
_start:
|
||||||
|
L0:
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
L1:
|
||||||
|
MVC .s2 PCE1, b0
|
||||||
|
ldw .d1t1 *a0,a2
|
||||||
|
mvk .s2 $PCR_OFFSET (S0,L1), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S0,L1), b2
|
||||||
|
mvk .s2 $PCR_OFFSET (S0,L2), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S0,L2), b2
|
||||||
|
mvk .s2 $PCR_OFFSET (S1,L1), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S1,L1), b2
|
||||||
|
mvk .s2 $PCR_OFFSET (S1,L2), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (S1,L2), b2
|
||||||
|
|
||||||
|
S0:
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
L2:
|
||||||
|
MVC .s2 PCE1, b0
|
||||||
|
|
||||||
|
S1:
|
||||||
|
ldw .d1t1 *a0,a1
|
||||||
|
mvkl .s2 $PCR_OFFSET (L0,L2), b2
|
||||||
|
mvkh .s2 $PCR_OFFSET (L0,L2), b2
|
Reference in New Issue
Block a user