diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-07-12 01:57:23 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-07-12 01:57:23 (GMT) |
commit | ba1d7ae3ae3c82ab2c3d23a900c16baff6f8ca26 (patch) | |
tree | 04a1d3fb7a7e8c9d2dffd91576bcd0d051ae3750 /src/arch/arm/v7 | |
parent | 2be3bca7ff0f8ab40615fdbf72c149cd6439b0ac (diff) |
Defined AIF_RETURN_POINT to replace the previous 'return' accessors.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@546 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/arm/v7')
-rw-r--r-- | src/arch/arm/v7/opdefs/Makefile.am | 1 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/b_A8818.d | 10 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/bl_A8825.d | 8 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/blx_A8826.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/bx_A8827.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldr_A8862.d | 6 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldr_A8863.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldr_A8864.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldr_A8865.d | 2 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldrb_A8867.d | 6 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldrb_A8868.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/ldrb_A8870.d | 6 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/pop_A88131.d | 6 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/pop_A88132.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/str_A88204.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/strb_A88207.d | 4 | ||||
-rw-r--r-- | src/arch/arm/v7/opdefs/strb_A88208.d | 6 |
17 files changed, 41 insertions, 42 deletions
diff --git a/src/arch/arm/v7/opdefs/Makefile.am b/src/arch/arm/v7/opdefs/Makefile.am index 6207906..5483f92 100644 --- a/src/arch/arm/v7/opdefs/Makefile.am +++ b/src/arch/arm/v7/opdefs/Makefile.am @@ -16,7 +16,6 @@ D2C_ENCODINGS = \ -e T=thumb_32_ D2C_MACROS = \ - -M DefineAsReturn=g_arch_instruction_define_as_return \ -M SetFlags=g_armv7_instruction_define_setflags \ -M Condition=g_arm_instruction_set_cond \ -M Register=translate_armv7_register \ diff --git a/src/arch/arm/v7/opdefs/b_A8818.d b/src/arch/arm/v7/opdefs/b_A8818.d index ab5971f..55b123e 100644 --- a/src/arch/arm/v7/opdefs/b_A8818.d +++ b/src/arch/arm/v7/opdefs/b_A8818.d @@ -48,7 +48,7 @@ //if cond == '1110' then UNDEFINED; //if cond == '1111' then SEE SVC; - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -77,7 +77,7 @@ @rules { //if InITBlock() && !LastInITBlock() then UNPREDICTABLE; - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -108,7 +108,7 @@ //if cond<3:1> == '111' then SEE "Related encodings"; //if InITBlock() then UNPREDICTABLE; - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -139,7 +139,7 @@ @rules { //if InITBlock() && !LastInITBlock() then UNPREDICTABLE; - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -168,7 +168,7 @@ @rules { - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/bl_A8825.d b/src/arch/arm/v7/opdefs/bl_A8825.d index 183ba36..a9b395a 100644 --- a/src/arch/arm/v7/opdefs/bl_A8825.d +++ b/src/arch/arm/v7/opdefs/bl_A8825.d @@ -47,7 +47,7 @@ @rules { - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -77,7 +77,7 @@ @rules { - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -105,7 +105,7 @@ @rules { - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -133,7 +133,7 @@ @rules { - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/blx_A8826.d b/src/arch/arm/v7/opdefs/blx_A8826.d index c972af2..bc26867 100644 --- a/src/arch/arm/v7/opdefs/blx_A8826.d +++ b/src/arch/arm/v7/opdefs/blx_A8826.d @@ -39,7 +39,7 @@ //if m == 15 then UNPREDICTABLE; //if InITBlock() && !LastInITBlock() then UNPREDICTABLE; - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -61,7 +61,7 @@ @rules { //if m == 15 then UNPREDICTABLE; - //chk_call DefineAsReturn(1) + //chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/bx_A8827.d b/src/arch/arm/v7/opdefs/bx_A8827.d index f8027a4..75921ac 100644 --- a/src/arch/arm/v7/opdefs/bx_A8827.d +++ b/src/arch/arm/v7/opdefs/bx_A8827.d @@ -44,7 +44,7 @@ @rules { - chk_call DefineAsReturn(1) + chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -71,7 +71,7 @@ @rules { - chk_call DefineAsReturn(1) + chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/ldr_A8862.d b/src/arch/arm/v7/opdefs/ldr_A8862.d index 49d5c3a..e2f9e3f 100644 --- a/src/arch/arm/v7/opdefs/ldr_A8862.d +++ b/src/arch/arm/v7/opdefs/ldr_A8862.d @@ -76,7 +76,7 @@ //if Rn == '1111' then SEE LDR (literal); //if t == 15 && InITBlock() && !LastInITBlock() then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -104,7 +104,7 @@ //if Rn == '1101' && P == '0' && U == '1' && W == '1' && imm8 == '00000100' then SEE POP; //if P == '0' && W == '0' then UNDEFINED; //if (wback && n == t) || (t == 15 && InITBlock() && !LastInITBlock()) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -133,7 +133,7 @@ //if Rn == '1101' && P == '0' && U == '1' && W == '1' && imm8 == '00000100' then SEE POP; //if P == '0' && W == '0' then UNDEFINED; //if (wback && n == t) || (t == 15 && InITBlock() && !LastInITBlock()) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/ldr_A8863.d b/src/arch/arm/v7/opdefs/ldr_A8863.d index 2360e3a..b2f7f84 100644 --- a/src/arch/arm/v7/opdefs/ldr_A8863.d +++ b/src/arch/arm/v7/opdefs/ldr_A8863.d @@ -46,7 +46,7 @@ //t = UInt(Rt); n = UInt(Rn); imm32 = ZeroExtend(imm12, 32); //index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1'); //if wback && n == t then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -76,7 +76,7 @@ //t = UInt(Rt); n = UInt(Rn); imm32 = ZeroExtend(imm12, 32); //index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1'); //if wback && n == t then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/ldr_A8864.d b/src/arch/arm/v7/opdefs/ldr_A8864.d index 4cf0048..bd7ed50 100644 --- a/src/arch/arm/v7/opdefs/ldr_A8864.d +++ b/src/arch/arm/v7/opdefs/ldr_A8864.d @@ -70,7 +70,7 @@ @rules { //if t == 15 && InITBlock() && !LastInITBlock() then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -101,7 +101,7 @@ @rules { //if t == 15 && InITBlock() && !LastInITBlock() then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/ldr_A8865.d b/src/arch/arm/v7/opdefs/ldr_A8865.d index e8d255b..b6a0126 100644 --- a/src/arch/arm/v7/opdefs/ldr_A8865.d +++ b/src/arch/arm/v7/opdefs/ldr_A8865.d @@ -67,7 +67,7 @@ //if Rn == '1111' then SEE LDR (literal); //if m IN {13,15} then UNPREDICTABLE; //if t == 15 && InITBlock() && !LastInITBlock() then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/ldrb_A8867.d b/src/arch/arm/v7/opdefs/ldrb_A8867.d index 2114330..c772b08 100644 --- a/src/arch/arm/v7/opdefs/ldrb_A8867.d +++ b/src/arch/arm/v7/opdefs/ldrb_A8867.d @@ -60,7 +60,7 @@ //if Rt == '1111' then SEE PLD; //if Rn == '1111' then SEE LDRB (literal); //if t == 13 then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -88,7 +88,7 @@ //if P == '1' && U == '1' && W == '0' then SEE LDRBT; //if P == '0' && W == '0' then UNDEFINED; //if t == 13 || (t == 15 && W == '1') || (wback && n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -117,7 +117,7 @@ //if P == '1' && U == '1' && W == '0' then SEE LDRBT; //if P == '0' && W == '0' then UNDEFINED; //if t == 13 || (t == 15 && W == '1') || (wback && n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/ldrb_A8868.d b/src/arch/arm/v7/opdefs/ldrb_A8868.d index fdf3049..579db06 100644 --- a/src/arch/arm/v7/opdefs/ldrb_A8868.d +++ b/src/arch/arm/v7/opdefs/ldrb_A8868.d @@ -45,7 +45,7 @@ //if P == '1' && U == '1' && W == '0' then SEE LDRBT; //if P == '0' && W == '0' then UNDEFINED; //if t == 13 || (t == 15 && W == '1') || (wback && n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -74,7 +74,7 @@ //if P == '1' && U == '1' && W == '0' then SEE LDRBT; //if P == '0' && W == '0' then UNDEFINED; //if t == 13 || (t == 15 && W == '1') || (wback && n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/ldrb_A8870.d b/src/arch/arm/v7/opdefs/ldrb_A8870.d index 868b1c9..2b6f2e9 100644 --- a/src/arch/arm/v7/opdefs/ldrb_A8870.d +++ b/src/arch/arm/v7/opdefs/ldrb_A8870.d @@ -65,7 +65,7 @@ //if Rn == '1111' then UNDEFINED; //if t IN {13,15} || m IN {13,15} then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -93,7 +93,7 @@ //if t == 15 || m == 15 then UNPREDICTABLE; //if wback && (n == 15 || n == t) then UNPREDICTABLE; //if ArchVersion() < 6 && wback && m == n then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -122,7 +122,7 @@ //if t == 15 || m == 15 then UNPREDICTABLE; //if wback && (n == 15 || n == t) then UNPREDICTABLE; //if ArchVersion() < 6 && wback && m == n then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/pop_A88131.d b/src/arch/arm/v7/opdefs/pop_A88131.d index a5e878f..47b9c2d 100644 --- a/src/arch/arm/v7/opdefs/pop_A88131.d +++ b/src/arch/arm/v7/opdefs/pop_A88131.d @@ -39,7 +39,7 @@ //if BitCount(registers) < 1 then UNPREDICTABLE; //if registers<15> == '1' && InITBlock() && !LastInITBlock() then UNPREDICTABLE; - if (P == '1') ; chk_call DefineAsReturn(1) + if (P == '1') ; chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -61,7 +61,7 @@ //if BitCount(registers) < 2 || (P == '1' && M == '1') then UNPREDICTABLE; //if registers<15> == '1' && InITBlock() && !LastInITBlock() then UNPREDICTABLE; - if (P == '1') ; chk_call DefineAsReturn(1) + if (P == '1') ; chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -83,7 +83,7 @@ @rules { //if t == 13 || (t == 15 && InITBlock() && !LastInITBlock()) then UNPREDICTABLE; - if (Rt == '1111') ; chk_call DefineAsReturn(1) + if (Rt == '1111') ; chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/pop_A88132.d b/src/arch/arm/v7/opdefs/pop_A88132.d index 1762b45..10e18a4 100644 --- a/src/arch/arm/v7/opdefs/pop_A88132.d +++ b/src/arch/arm/v7/opdefs/pop_A88132.d @@ -40,7 +40,7 @@ //if BitCount(register_list) < 2 then SEE LDM / LDMIA / LDMFD; //if registers<13> == '1' && ArchVersion() >= 7 then UNPREDICTABLE; - if (register_list & 0x8000) ; chk_call DefineAsReturn(1) + if (register_list & 0x8000) ; chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -63,7 +63,7 @@ @rules { //if t == 13 then UNPREDICTABLE; - if (Rt == '1111') ; chk_call DefineAsReturn(1) + if (Rt == '1111') ; chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/str_A88204.d b/src/arch/arm/v7/opdefs/str_A88204.d index 2712e1b..fb5879a 100644 --- a/src/arch/arm/v7/opdefs/str_A88204.d +++ b/src/arch/arm/v7/opdefs/str_A88204.d @@ -43,7 +43,7 @@ //if P == '0' && W == '1' then SEE STRT; //if Rn == '1101' && P == '1' && U == '0' && W == '1' && imm12 == '000000000100' then SEE PUSH; //if wback && (n == 15 || n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -70,7 +70,7 @@ //if P == '0' && W == '1' then SEE STRT; //if Rn == '1101' && P == '1' && U == '0' && W == '1' && imm12 == '000000000100' then SEE PUSH; //if wback && (n == 15 || n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/strb_A88207.d b/src/arch/arm/v7/opdefs/strb_A88207.d index b57dbf7..2af8fb7 100644 --- a/src/arch/arm/v7/opdefs/strb_A88207.d +++ b/src/arch/arm/v7/opdefs/strb_A88207.d @@ -45,7 +45,7 @@ //if P == '1' && U == '1' && W == '0' then SEE LDRBT; //if P == '0' && W == '0' then UNDEFINED; //if t == 13 || (t == 15 && W == '1') || (wback && n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -74,7 +74,7 @@ //if P == '1' && U == '1' && W == '0' then SEE LDRBT; //if P == '0' && W == '0' then UNDEFINED; //if t == 13 || (t == 15 && W == '1') || (wback && n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } diff --git a/src/arch/arm/v7/opdefs/strb_A88208.d b/src/arch/arm/v7/opdefs/strb_A88208.d index ab6c198..c94fe4d 100644 --- a/src/arch/arm/v7/opdefs/strb_A88208.d +++ b/src/arch/arm/v7/opdefs/strb_A88208.d @@ -65,7 +65,7 @@ //if Rn == '1111' then UNDEFINED; //if t IN {13,15} || m IN {13,15} then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -92,7 +92,7 @@ //if P == '0' && W == '1' then SEE STRT; //if Rn == '1101' && P == '1' && U == '0' && W == '1' && imm12 == '000000000100' then SEE PUSH; //if wback && (n == 15 || n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } @@ -120,7 +120,7 @@ //if P == '0' && W == '1' then SEE STRT; //if Rn == '1101' && P == '1' && U == '0' && W == '1' && imm12 == '000000000100' then SEE PUSH; //if wback && (n == 15 || n == t) then UNPREDICTABLE; - if (Rt == '1111'); chk_call DefineAsReturn(1) + if (Rt == '1111'); chk_call SetInsFlag(AIF_RETURN_POINT) } |