]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix this so that it compiles with gcc4 by writing the test fns
authorJulian Seward <jseward@acm.org>
Sat, 19 Nov 2005 15:31:13 +0000 (15:31 +0000)
committerJulian Seward <jseward@acm.org>
Sat, 19 Nov 2005 15:31:13 +0000 (15:31 +0000)
completely in assembly (for those that require literals to be
changed).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5207

none/tests/ppc32/jm-insns.c

index 9fa274b6826ce06a08246d55c4589b82d727725b..e39bd8a51f346311df93fe5a9974c5417862e2be 100644 (file)
@@ -225,12 +225,6 @@ enum test_flags {
 #define unused __attribute__ (( unused ))
 
 /* -------------- BEGIN #include "ops-ppc.c" -------------- */
-/*
- * WARNING:
- * This file has been auto-generated by './gen-ppc' program
- * Please don't edit by hand
- */
-
 
 /* #include "test-ppc.h" */
 
@@ -646,15 +640,21 @@ static test_t tests_icr_ops_two[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_cmpi (void)
-{
-    __asm__ __volatile__ ("cmpi         2, 14, 15");
-}
-
-static void test_cmpli (void)
-{
-    __asm__ __volatile__ ("cmpli        2, 14, 15");
-}
+extern void test_cmpi (void);
+asm(".text\n"
+    "test_cmpi:\n"
+    "\tcmpi         2, 14, 15\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_cmpli (void);
+asm(".text\n"
+    "test_cmpli:\n"
+    "\tcmpli         2, 14, 15\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_icr_ops_two_i16[] = {
     { &test_cmpi            , "        cmpi", },
@@ -662,30 +662,45 @@ static test_t tests_icr_ops_two_i16[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_addi (void)
-{
-    __asm__ __volatile__ ("addi         17, 14, 0");
-}
-
-static void test_addic (void)
-{
-    __asm__ __volatile__ ("addic        17, 14, 0");
-}
-
-static void test_addis (void)
-{
-    __asm__ __volatile__ ("addis        17, 14, 0");
-}
-
-static void test_mulli (void)
-{
-    __asm__ __volatile__ ("mulli        17, 14, 0");
-}
-
-static void test_subfic (void)
-{
-    __asm__ __volatile__ ("subfic       17, 14, 0");
-}
+extern void test_addi (void);
+asm(".text\n"
+    "test_addi:\n"
+    "\taddi         17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_addic (void);
+asm(".text\n"
+    "test_addic:\n"
+    "\taddic        17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_addis (void);
+asm(".text\n"
+    "test_addis:\n"
+    "\taddis        17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_mulli (void);
+asm(".text\n"
+    "test_mulli:\n"
+    "\tmulli        17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_subfic (void);
+asm(".text\n"
+    "test_subfic:\n"
+    "\tsubfic       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_ia_ops_two_i16[] = {
     { &test_addi            , "        addi", },
@@ -696,35 +711,50 @@ static test_t tests_ia_ops_two_i16[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_addic_ (void)
-{
-    __asm__ __volatile__ ("addic.       17, 14, 0");
-}
+extern void test_addic_ (void);
+asm(".text\n"
+    "test_addic_:\n"
+    "\taddic.       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_iar_ops_two_i16[] = {
     { &test_addic_          , "      addic.", },
     { NULL,                   NULL,           },
 };
 
-static void test_ori (void)
-{
-    __asm__ __volatile__ ("ori          17, 14, 0");
-}
-
-static void test_oris (void)
-{
-    __asm__ __volatile__ ("oris         17, 14, 0");
-}
-
-static void test_xori (void)
-{
-    __asm__ __volatile__ ("xori         17, 14, 0");
-}
-
-static void test_xoris (void)
-{
-    __asm__ __volatile__ ("xoris        17, 14, 0");
-}
+extern void test_ori (void);
+asm(".text\n"
+    "test_ori:\n"
+    "\tori       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_oris (void);
+asm(".text\n"
+    "test_oris:\n"
+    "\toris       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_xori (void);
+asm(".text\n"
+    "test_xori:\n"
+    "\txori       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_xoris (void);
+asm(".text\n"
+    "test_xoris:\n"
+    "\txoris       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_il_ops_two_i16[] = {
     { &test_ori             , "         ori", },
@@ -734,15 +764,21 @@ static test_t tests_il_ops_two_i16[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_andi_ (void)
-{
-    __asm__ __volatile__ ("andi.        17, 14, 0");
-}
-
-static void test_andis_ (void)
-{
-    __asm__ __volatile__ ("andis.       17, 14, 0");
-}
+extern void test_andi_ (void);
+asm(".text\n"
+    "test_andi_:\n"
+    "\tandi.       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_andis_ (void);
+asm(".text\n"
+    "test_andis_:\n"
+    "\tandis.      17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_ilr_ops_two_i16[] = {
     { &test_andi_           , "       andi.", },
@@ -974,25 +1010,37 @@ static test_t tests_ilr_ops_one[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_rlwimi (void)
-{
-    __asm__ __volatile__ ("rlwimi       17, 14, 0, 0, 0");
-}
-
-static void test_rlwinm (void)
-{
-    __asm__ __volatile__ ("rlwinm       17, 14, 0, 0, 0");
-}
-
-static void test_rlwnm (void)
-{
-    __asm__ __volatile__ ("rlwnm        17, 14, 15, 0, 0");
-}
-
-static void test_srawi (void)
-{
-    __asm__ __volatile__ ("srawi        17, 14, 0");
-}
+extern void test_rlwimi (void);
+asm(".text\n"
+    "test_rlwimi:\n"
+    "\trlwimi      17, 14, 0, 0, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_rlwinm (void);
+asm(".text\n"
+    "test_rlwinm:\n"
+    "\trlwinm      17, 14, 0, 0, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_rlwnm (void);
+asm(".text\n"
+    "test_rlwnm:\n"
+    "\trlwnm      17, 14, 15, 0, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_srawi (void);
+asm(".text\n"
+    "test_srawi:\n"
+    "\tsrawi      17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static void test_mfcr (void)
 {
@@ -1020,40 +1068,61 @@ static test_t tests_il_ops_spe[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_rlwimi_ (void)
-{
-    __asm__ __volatile__ ("rlwimi.      17, 14, 0, 0, 0");
-}
-
-static void test_rlwinm_ (void)
-{
-    __asm__ __volatile__ ("rlwinm.      17, 14, 0, 0, 0");
-}
-
-static void test_rlwnm_ (void)
-{
-    __asm__ __volatile__ ("rlwnm.       17, 14, 15, 0, 0");
-}
-
-static void test_srawi_ (void)
-{
-    __asm__ __volatile__ ("srawi.       17, 14, 0");
-}
-
-static void test_mcrf (void)
-{
-    __asm__ __volatile__ ("mcrf         0, 0");
-}
-
-static void test_mcrxr (void)
-{
-    __asm__ __volatile__ ("mcrxr        0");
-}
-
-static void test_mtcrf (void)
-{
-    __asm__ __volatile__ ("mtcrf        0, 14");
-}
+extern void test_rlwimi_ (void);
+asm(".text\n"
+    "test_rlwimi_:\n"
+    "\trlwimi.      17, 14, 0, 0, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_rlwinm_ (void);
+asm(".text\n"
+    "test_rlwinm_:\n"
+    "\trlwinm.      17, 14, 0, 0, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_rlwnm_ (void);
+asm(".text\n"
+    "test_rlwnm_:\n"
+    "\trlwnm.      17, 14, 15, 0, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_srawi_ (void);
+asm(".text\n"
+    "test_srawi_:\n"
+    "\tsrawi.      17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_mcrf (void);
+asm(".text\n"
+    "test_mcrf:\n"
+    "\tmcrf      0, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_mcrxr (void);
+asm(".text\n"
+    "test_mcrxr:\n"
+    "\tmcrxr      0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_mtcrf (void);
+asm(".text\n"
+    "test_mtcrf:\n"
+    "\tmtcrf      0, 14\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_ilr_ops_spe[] = {
     { &test_rlwimi_         , "     rlwimi.", },
@@ -1066,45 +1135,69 @@ static test_t tests_ilr_ops_spe[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_lbz (void)
-{
-    __asm__ __volatile__ ("lbz          17,0(14)");
-}
-
-static void test_lbzu (void)
-{
-    __asm__ __volatile__ ("lbzu         17,0(14)");
-}
-
-static void test_lha (void)
-{
-    __asm__ __volatile__ ("lha          17,0(14)");
-}
-
-static void test_lhau (void)
-{
-    __asm__ __volatile__ ("lhau         17,0(14)");
-}
-
-static void test_lhz (void)
-{
-    __asm__ __volatile__ ("lhz          17,0(14)");
-}
-
-static void test_lhzu (void)
-{
-    __asm__ __volatile__ ("lhzu         17,0(14)");
-}
-
-static void test_lwz (void)
-{
-    __asm__ __volatile__ ("lwz          17,0(14)");
-}
-
-static void test_lwzu (void)
-{
-    __asm__ __volatile__ ("lwzu         17,0(14)");
-}
+extern void test_lbz (void);
+asm(".text\n"
+    "test_lbz:\n"
+    "\tlbz          17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_lbzu (void);
+asm(".text\n"
+    "test_lbzu:\n"
+    "\tlbzu          17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_lha (void);
+asm(".text\n"
+    "test_lha:\n"
+    "\tlha          17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_lhau (void);
+asm(".text\n"
+    "test_lhau:\n"
+    "\tlhau          17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_lhz (void);
+asm(".text\n"
+    "test_lhz:\n"
+    "\tlhz          17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_lhzu (void);
+asm(".text\n"
+    "test_lhzu:\n"
+    "\tlhzu         17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_lwz (void);
+asm(".text\n"
+    "test_lwz:\n"
+    "\tlwz          17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_lwzu (void);
+asm(".text\n"
+    "test_lwzu:\n"
+    "\tlwzu          17,0(14)\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_ild_ops_two_i16[] = {
     { &test_lbz             , "         lbz", },
@@ -1170,35 +1263,53 @@ static test_t tests_ild_ops_two[] = {
     { NULL,                   NULL,           },
 };
 
-static void test_stb (void)
-{
-    __asm__ __volatile__ ("stb          14,0(15)");
-}
-
-static void test_stbu (void)
-{
-    __asm__ __volatile__ ("stbu         14,0(15)");
-}
-
-static void test_sth (void)
-{
-    __asm__ __volatile__ ("sth          14,0(15)");
-}
-
-static void test_sthu (void)
-{
-    __asm__ __volatile__ ("sthu         14,0(15)");
-}
-
-static void test_stw (void)
-{
-    __asm__ __volatile__ ("stw          14,0(15)");
-}
-
-static void test_stwu (void)
-{
-    __asm__ __volatile__ ("stwu         14,0(15)");
-}
+extern void test_stb (void);
+asm(".text\n"
+    "test_stb:\n"
+    "\tstb          14,0(15)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_stbu (void);
+asm(".text\n"
+    "test_stbu:\n"
+    "\tstbu          14,0(15)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_sth (void);
+asm(".text\n"
+    "test_sth:\n"
+    "\tsth          14,0(15)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_sthu (void);
+asm(".text\n"
+    "test_sthu:\n"
+    "\tsthu         14,0(15)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_stw (void);
+asm(".text\n"
+    "test_stw:\n"
+    "\tstw          14,0(15)\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_stwu (void);
+asm(".text\n"
+    "test_stwu:\n"
+    "\tstwu          14,0(15)\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_ist_ops_three_i16[] = {
     { &test_stb             , "         stb", },
@@ -2407,40 +2518,61 @@ static void test_vsr (void)
     __asm__ __volatile__ ("vsr          17, 14, 15");
 }
 
-static void test_vspltb (void)
-{
-    __asm__ __volatile__ ("vspltb       17, 14, 0");
-}
-
-static void test_vsplth (void)
-{
-    __asm__ __volatile__ ("vsplth       17, 14, 0");
-}
-
-static void test_vspltw (void)
-{
-    __asm__ __volatile__ ("vspltw       17, 14, 0");
-}
-
-static void test_vspltisb (void)
-{
-    __asm__ __volatile__ ("vspltisb     17, 0");
-}
-
-static void test_vspltish (void)
-{
-    __asm__ __volatile__ ("vspltish     17, 0");
-}
-
-static void test_vspltisw (void)
-{
-    __asm__ __volatile__ ("vspltisw     17, 0");
-}
-
-static void test_vsldoi (void)
-{
-    __asm__ __volatile__ ("vsldoi       17, 14, 15, 0");
-}
+extern void test_vspltb (void);
+asm(".text\n"
+    "test_vspltb:\n"
+    "\tvspltb       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vsplth (void);
+asm(".text\n"
+    "test_vsplth:\n"
+    "\tvsplth       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vspltw (void);
+asm(".text\n"
+    "test_vspltw:\n"
+    "\tvspltw       17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vspltisb (void);
+asm(".text\n"
+    "test_vspltisb:\n"
+    "\tvspltisb       17, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vspltish (void);
+asm(".text\n"
+    "test_vspltish:\n"
+    "\tvspltish       17, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vspltisw (void);
+asm(".text\n"
+    "test_vspltisw:\n"
+    "\tvspltisw       17, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vsldoi (void);
+asm(".text\n"
+    "test_vsldoi:\n"
+    "\tvsldoi       17, 14, 15, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static void test_lvsl (void)
 {
@@ -2695,25 +2827,37 @@ static test_t tests_afcr_ops_two[] = {
 #endif /* defined (HAS_ALTIVEC) */
 
 #if defined (HAS_ALTIVEC)
-static void test_vcfux (void)
-{
-    __asm__ __volatile__ ("vcfux        17, 14, 0");
-}
-
-static void test_vcfsx (void)
-{
-    __asm__ __volatile__ ("vcfsx        17, 14, 0");
-}
-
-static void test_vctuxs (void)
-{
-    __asm__ __volatile__ ("vctuxs       17, 14, 0");
-}
-
-static void test_vctsxs (void)
-{
-    __asm__ __volatile__ ("vctsxs       17, 14, 0");
-}
+extern void test_vcfux (void);
+asm(".text\n"
+    "test_vcfux:\n"
+    "\tvcfux        17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vcfsx (void);
+asm(".text\n"
+    "test_vcfsx:\n"
+    "\tvcfsx        17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vctuxs (void);
+asm(".text\n"
+    "test_vctuxs:\n"
+    "\tvctuxs        17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
+
+extern void test_vctsxs (void);
+asm(".text\n"
+    "test_vctsxs:\n"
+    "\tvctsxs        17, 14, 0\n"
+    "\tblr\n"
+    ".previous\n"
+);
 
 static test_t tests_av_float_ops_spe[] = {
     { &test_vcfux           , "       vcfux", },