Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > 13759e1133f115cdd0e9653983962b89 > files > 3

orc-0.4.33-1.mga9.src.rpm

Remove some orc opcode from EDSP set

Someone mixed EDSP code with armv6 one, leading to SIGILL on
armv5te. Remove them.

Some opcode are still left even if they're using armv6 code because in the code
path used, the armv6 code is not reached.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>

Index: orc-0.4.11/orc/orcrules-arm.c
===================================================================
--- orc-0.4.11.orig/orc/orcrules-arm.c
+++ orc-0.4.11/orc/orcrules-arm.c
@@ -1644,30 +1644,30 @@ orc_compiler_orc_arm_register_rules (Orc
       ORC_TARGET_ARM_EDSP);
 
   FAIL orc_rule_register (rule_set, "absb", arm_rule_absX, (void *)0);
-  orc_rule_register (rule_set, "cmpeqb", arm_rule_cmpeqX, (void *)1);
-  orc_rule_register (rule_set, "cmpgtsb", arm_rule_cmpgtsX, (void *)1);
+  FAIL orc_rule_register (rule_set, "cmpeqb", arm_rule_cmpeqX, (void *)1);
+  FAIL orc_rule_register (rule_set, "cmpgtsb", arm_rule_cmpgtsX, (void *)1);
   FAIL orc_rule_register (rule_set, "maxsb", arm_rule_maxsb, NULL);
   FAIL orc_rule_register (rule_set, "maxub", arm_rule_maxub, NULL);
   FAIL orc_rule_register (rule_set, "minsb", arm_rule_minsb, NULL);
   FAIL orc_rule_register (rule_set, "minub", arm_rule_minub, NULL);
-  orc_rule_register (rule_set, "shlb", arm_rule_shlX, (void *)1);
+  FAIL orc_rule_register (rule_set, "shlb", arm_rule_shlX, (void *)1);
   FAIL orc_rule_register (rule_set, "shrsb", arm_rule_shrsX, (void *)1);
   FAIL orc_rule_register (rule_set, "shrub", arm_rule_shruX, (void *)1);
   FAIL orc_rule_register (rule_set, "signb", arm_rule_signX, (void *)0);
 
   FAIL orc_rule_register (rule_set, "absw", arm_rule_absX, (void *)1);
-  orc_rule_register (rule_set, "cmpeqw", arm_rule_cmpeqX, (void *)2);
-  orc_rule_register (rule_set, "cmpgtsw", arm_rule_cmpgtsX, (void *)2);
+  FAIL orc_rule_register (rule_set, "cmpeqw", arm_rule_cmpeqX, (void *)2);
+  FAIL orc_rule_register (rule_set, "cmpgtsw", arm_rule_cmpgtsX, (void *)2);
   FAIL orc_rule_register (rule_set, "maxsw", arm_rule_maxsw, NULL);
   FAIL orc_rule_register (rule_set, "maxuw", arm_rule_maxuw, NULL);
   FAIL orc_rule_register (rule_set, "minsw", arm_rule_minsw, NULL);
   FAIL orc_rule_register (rule_set, "minuw", arm_rule_minuw, NULL);
-  orc_rule_register (rule_set, "mulsbw", arm_rule_mulsbw, NULL);
-  orc_rule_register (rule_set, "shlw", arm_rule_shlX, (void *)2);
+  FAIL orc_rule_register (rule_set, "mulsbw", arm_rule_mulsbw, NULL);
+  FAIL orc_rule_register (rule_set, "shlw", arm_rule_shlX, (void *)2);
   FAIL orc_rule_register (rule_set, "shrsw", arm_rule_shrsX, (void *)2);
   orc_rule_register (rule_set, "shruw", arm_rule_shruX, (void *)2);
   FAIL orc_rule_register (rule_set, "signw", arm_rule_signX, (void *)1);
-  orc_rule_register (rule_set, "mulhsw", arm_rule_mulhsw, NULL);
+  FAIL orc_rule_register (rule_set, "mulhsw", arm_rule_mulhsw, NULL);
   FAIL orc_rule_register (rule_set, "mulhuw", arm_rule_mulhuw, NULL);
 
   orc_rule_register (rule_set, "cmpeql", arm_rule_cmpeql, NULL);
@@ -1676,9 +1676,9 @@ orc_compiler_orc_arm_register_rules (Orc
   orc_rule_register (rule_set, "shrsl", arm_rule_shrsX, (void *)4);
   orc_rule_register (rule_set, "shrul", arm_rule_shruX, (void *)4);
 
-  orc_rule_register (rule_set, "convsbw", arm_rule_convsbw, NULL);
+  FAIL orc_rule_register (rule_set, "convsbw", arm_rule_convsbw, NULL);
 
-  orc_rule_register (rule_set, "mergewl", arm_rule_mergewl, NULL);
+  FAIL orc_rule_register (rule_set, "mergewl", arm_rule_mergewl, NULL);
   FAIL orc_rule_register (rule_set, "mergebw", arm_rule_mergebw, NULL);
   orc_rule_register (rule_set, "select0wb", arm_rule_select0wb, NULL);
   orc_rule_register (rule_set, "select1wb", arm_rule_select1wb, NULL);