Browse Source

+ Xtensa: boolean registers * Xtensa: register numbers of floating point registers corrected

git-svn-id: trunk@44494 -
florian 5 years ago
parent
commit
c2cf21d176

+ 32 - 16
compiler/xtensa/rxtensacon.inc

@@ -16,19 +16,35 @@ NR_A12 = tregister($0100000c);
 NR_A13 = tregister($0100000d);
 NR_A14 = tregister($0100000e);
 NR_A15 = tregister($0100000f);
-NR_F0 = tregister($01000000);
-NR_F1 = tregister($01000001);
-NR_F2 = tregister($01000002);
-NR_F3 = tregister($01000003);
-NR_F4 = tregister($01000004);
-NR_F5 = tregister($01000005);
-NR_F6 = tregister($01000006);
-NR_F7 = tregister($01000007);
-NR_F8 = tregister($01000008);
-NR_F9 = tregister($01000009);
-NR_F10 = tregister($0100000f);
-NR_F11 = tregister($0100000b);
-NR_F12 = tregister($0100000c);
-NR_F13 = tregister($0100000d);
-NR_F14 = tregister($0100000e);
-NR_F15 = tregister($0100000f);
+NR_F0 = tregister($02000000);
+NR_F1 = tregister($02000001);
+NR_F2 = tregister($02000002);
+NR_F3 = tregister($02000003);
+NR_F4 = tregister($02000004);
+NR_F5 = tregister($02000005);
+NR_F6 = tregister($02000006);
+NR_F7 = tregister($02000007);
+NR_F8 = tregister($02000008);
+NR_F9 = tregister($02000009);
+NR_F10 = tregister($0200000f);
+NR_F11 = tregister($0200000b);
+NR_F12 = tregister($0200000c);
+NR_F13 = tregister($0200000d);
+NR_F14 = tregister($0200000e);
+NR_F15 = tregister($0200000f);
+NR_B0 = tregister($05000000);
+NR_B1 = tregister($05000001);
+NR_B2 = tregister($05000002);
+NR_B3 = tregister($05000003);
+NR_B4 = tregister($05000004);
+NR_B5 = tregister($05000005);
+NR_B6 = tregister($05000006);
+NR_B7 = tregister($05000007);
+NR_B8 = tregister($05000008);
+NR_B9 = tregister($05000009);
+NR_B10 = tregister($0500000b);
+NR_B11 = tregister($0500000b);
+NR_B12 = tregister($0500000c);
+NR_B13 = tregister($0500000d);
+NR_B14 = tregister($0500000e);
+NR_B15 = tregister($0500000b);

+ 16 - 0
compiler/xtensa/rxtensadwa.inc

@@ -31,4 +31,20 @@
 12,
 13,
 14,
+15,
+0,
+1,
+2,
+3,
+4,
+5,
+6,
+7,
+8,
+9,
+10,
+11,
+12,
+13,
+14,
 15

+ 1 - 1
compiler/xtensa/rxtensanor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from xtensareg.dat }
-33
+49

+ 32 - 16
compiler/xtensa/rxtensanum.inc

@@ -16,19 +16,35 @@ tregister($0100000c),
 tregister($0100000d),
 tregister($0100000e),
 tregister($0100000f),
-tregister($01000000),
-tregister($01000001),
-tregister($01000002),
-tregister($01000003),
-tregister($01000004),
-tregister($01000005),
-tregister($01000006),
-tregister($01000007),
-tregister($01000008),
-tregister($01000009),
-tregister($0100000f),
-tregister($0100000b),
-tregister($0100000c),
-tregister($0100000d),
-tregister($0100000e),
-tregister($0100000f)
+tregister($02000000),
+tregister($02000001),
+tregister($02000002),
+tregister($02000003),
+tregister($02000004),
+tregister($02000005),
+tregister($02000006),
+tregister($02000007),
+tregister($02000008),
+tregister($02000009),
+tregister($0200000f),
+tregister($0200000b),
+tregister($0200000c),
+tregister($0200000d),
+tregister($0200000e),
+tregister($0200000f),
+tregister($05000000),
+tregister($05000001),
+tregister($05000002),
+tregister($05000003),
+tregister($05000004),
+tregister($05000005),
+tregister($05000006),
+tregister($05000007),
+tregister($05000008),
+tregister($05000009),
+tregister($0500000b),
+tregister($0500000b),
+tregister($0500000c),
+tregister($0500000d),
+tregister($0500000e),
+tregister($0500000b)

+ 31 - 15
compiler/xtensa/rxtensarni.inc

@@ -1,34 +1,50 @@
 { don't edit, this file is generated from xtensareg.dat }
 0,
 1,
-17,
 2,
-18,
 3,
-19,
 4,
-20,
 5,
-21,
 6,
-22,
 7,
-23,
 8,
-24,
 9,
-25,
 10,
-26,
 11,
 12,
-28,
 13,
-29,
 14,
-30,
 15,
-31,
 16,
+17,
+18,
+19,
+20,
+21,
+22,
+23,
+24,
+25,
+26,
+28,
+29,
+30,
+31,
 27,
-32
+32,
+33,
+34,
+35,
+36,
+37,
+38,
+39,
+40,
+41,
+42,
+43,
+44,
+48,
+45,
+46,
+47

+ 16 - 0
compiler/xtensa/rxtensasri.inc

@@ -16,6 +16,22 @@
 8,
 9,
 10,
+33,
+34,
+43,
+44,
+45,
+46,
+47,
+48,
+35,
+36,
+37,
+38,
+39,
+40,
+41,
+42,
 17,
 18,
 27,

+ 16 - 0
compiler/xtensa/rxtensasta.inc

@@ -31,4 +31,20 @@
 12,
 13,
 14,
+15,
+0,
+1,
+2,
+3,
+4,
+5,
+6,
+7,
+8,
+9,
+10,
+11,
+12,
+13,
+14,
 15

+ 17 - 1
compiler/xtensa/rxtensastd.inc

@@ -31,4 +31,20 @@
 'f12',
 'f13',
 'f14',
-'f15'
+'f15',
+'b0',
+'b1',
+'b2',
+'b3',
+'b4',
+'b5',
+'b6',
+'b7',
+'b8',
+'b9',
+'b10',
+'b11',
+'b12',
+'b13',
+'b14',
+'b15'

+ 16 - 0
compiler/xtensa/rxtensasup.inc

@@ -32,3 +32,19 @@ RS_F12 = $0c;
 RS_F13 = $0d;
 RS_F14 = $0e;
 RS_F15 = $0f;
+RS_B0 = $00;
+RS_B1 = $01;
+RS_B2 = $02;
+RS_B3 = $03;
+RS_B4 = $04;
+RS_B5 = $05;
+RS_B6 = $06;
+RS_B7 = $07;
+RS_B8 = $08;
+RS_B9 = $09;
+RS_B10 = $0b;
+RS_B11 = $0b;
+RS_B12 = $0c;
+RS_B13 = $0d;
+RS_B14 = $0e;
+RS_B15 = $0b;

+ 7 - 0
compiler/xtensa/xtensaatt.inc

@@ -2,6 +2,7 @@
 'none',
 'abs',
 'add',
+'add.s',
 'addi',
 'addmi',
 'and',
@@ -28,9 +29,14 @@
 'mov.s',
 'movnez',
 'movi',
+'mul.s',
 'mull',
 'neg',
+'neg.s',
 'nop',
+'oeq.s',
+'ole.s',
+'olt.s',
 'or',
 'ret',
 'retw',
@@ -47,6 +53,7 @@
 'ssl',
 'ssr',
 'sub',
+'sub.s',
 'xor'
 );
 

+ 7 - 0
compiler/xtensa/xtensaop.inc

@@ -2,6 +2,7 @@
 A_NONE,
 A_ABS,
 A_ADD,
+A_ADD_S,
 A_ADDI,
 A_ADDMI,
 A_AND,
@@ -28,9 +29,14 @@ A_MOV,
 A_MOV_S,
 A_MOVNEZ,
 A_MOVI,
+A_MUL_S,
 A_MULL,
 A_NEG,
+A_NEG_S,
 A_NOP,
+A_OEQ_S,
+A_OLE_S,
+A_OLT_S,
 A_OR,
 A_RET,
 A_RETW,
@@ -47,6 +53,7 @@ A_SSI,
 A_SSL,
 A_SSR,
 A_SUB,
+A_SUB_S,
 A_XOR
 );
 

+ 33 - 17
compiler/xtensa/xtensareg.dat

@@ -24,22 +24,38 @@ A14,$01,$00,$0e,a14,14,14
 A15,$01,$00,$0f,a15,15,15
 
 ; Floating point registers
-F0,$01,$00,$00,f0,0,0
-F1,$01,$00,$01,f1,1,1
-F2,$01,$00,$02,f2,2,2
-F3,$01,$00,$03,f3,3,3
-F4,$01,$00,$04,f4,4,4
-F5,$01,$00,$05,f5,5,5
-F6,$01,$00,$06,f6,6,6
-F7,$01,$00,$07,f7,7,7
-F8,$01,$00,$08,f8,8,8
-F9,$01,$00,$09,f9,9,9
-F10,$01,$00,$0f,f10,10,10
-F11,$01,$00,$0b,f11,11,11
-F12,$01,$00,$0c,f12,12,12
-F13,$01,$00,$0d,f13,13,13
-F14,$01,$00,$0e,f14,14,14
-F15,$01,$00,$0f,f15,15,15
-
+F0,$02,$00,$00,f0,0,0
+F1,$02,$00,$01,f1,1,1
+F2,$02,$00,$02,f2,2,2
+F3,$02,$00,$03,f3,3,3
+F4,$02,$00,$04,f4,4,4
+F5,$02,$00,$05,f5,5,5
+F6,$02,$00,$06,f6,6,6
+F7,$02,$00,$07,f7,7,7
+F8,$02,$00,$08,f8,8,8
+F9,$02,$00,$09,f9,9,9
+F10,$02,$00,$0f,f10,10,10
+F11,$02,$00,$0b,f11,11,11
+F12,$02,$00,$0c,f12,12,12
+F13,$02,$00,$0d,f13,13,13
+F14,$02,$00,$0e,f14,14,14
+F15,$02,$00,$0f,f15,15,15
 
+; Boolean registers
+B0,$05,$00,$00,b0,0,0
+B1,$05,$00,$01,b1,1,1
+B2,$05,$00,$02,b2,2,2
+B3,$05,$00,$03,b3,3,3
+B4,$05,$00,$04,b4,4,4
+B5,$05,$00,$05,b5,5,5
+B6,$05,$00,$06,b6,6,6
+B7,$05,$00,$07,b7,7,7
+B8,$05,$00,$08,b8,8,8
+B9,$05,$00,$09,b9,9,9
+B10,$05,$00,$0b,b10,10,10
+B11,$05,$00,$0b,b11,11,11
+B12,$05,$00,$0c,b12,12,12
+B13,$05,$00,$0d,b13,13,13
+B14,$05,$00,$0e,b14,14,14
+B15,$05,$00,$0b,b15,15,15