X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fgcc.target%2Fmips%2Fmips32-dsp.c;h=9aaf120184f5e8fc81f7f63a3044af5d75aa7c20;hb=4d8cd3a26294ce35abb17668eac2b6c38dd23bd0;hp=c2a8ae7750511d29b3a132a412b767424acbaefd;hpb=c944d49b3bd3667c65c299afd3b1d756084203f4;p=platform%2Fupstream%2Fgcc48.git diff --git a/gcc/testsuite/gcc.target/mips/mips32-dsp.c b/gcc/testsuite/gcc.target/mips/mips32-dsp.c index c2a8ae7..9aaf120 100644 --- a/gcc/testsuite/gcc.target/mips/mips32-dsp.c +++ b/gcc/testsuite/gcc.target/mips/mips32-dsp.c @@ -1,103 +1,103 @@ /* Test MIPS32 DSP instructions */ /* { dg-do compile } */ /* { dg-options "-mgp32 -mdsp" } */ -/* { dg-final { scan-assembler "addq.ph" } } */ -/* { dg-final { scan-assembler "addq_s.ph" } } */ -/* { dg-final { scan-assembler "addq_s.w" } } */ -/* { dg-final { scan-assembler "addu.qb" } } */ -/* { dg-final { scan-assembler "addu_s.qb" } } */ -/* { dg-final { scan-assembler "subq.ph" } } */ -/* { dg-final { scan-assembler "subq_s.ph" } } */ -/* { dg-final { scan-assembler "subq_s.w" } } */ -/* { dg-final { scan-assembler "subu.qb" } } */ -/* { dg-final { scan-assembler "subu_s.qb" } } */ -/* { dg-final { scan-assembler "addsc" } } */ -/* { dg-final { scan-assembler "addwc" } } */ -/* { dg-final { scan-assembler "modsub" } } */ -/* { dg-final { scan-assembler "raddu.w.qb" } } */ -/* { dg-final { scan-assembler "absq_s.ph" } } */ -/* { dg-final { scan-assembler "absq_s.w" } } */ -/* { dg-final { scan-assembler "precrq.qb.ph" } } */ -/* { dg-final { scan-assembler "precrq.ph.w" } } */ -/* { dg-final { scan-assembler "precrq_rs.ph.w" } } */ -/* { dg-final { scan-assembler "precrqu_s.qb.ph" } } */ -/* { dg-final { scan-assembler "preceq.w.phl" } } */ -/* { dg-final { scan-assembler "preceq.w.phr" } } */ -/* { dg-final { scan-assembler "precequ.ph.qbl" } } */ -/* { dg-final { scan-assembler "precequ.ph.qbr" } } */ -/* { dg-final { scan-assembler "precequ.ph.qbla" } } */ -/* { dg-final { scan-assembler "precequ.ph.qbra" } } */ -/* { dg-final { scan-assembler "preceu.ph.qbl" } } */ -/* { dg-final { scan-assembler "preceu.ph.qbr" } } */ -/* { dg-final { scan-assembler "preceu.ph.qbla" } } */ -/* { dg-final { scan-assembler "preceu.ph.qbra" } } */ -/* { dg-final { scan-assembler "shllv?.qb" } } */ -/* { dg-final { scan-assembler "shllv?.ph" } } */ -/* { dg-final { scan-assembler "shllv?_s.ph" } } */ -/* { dg-final { scan-assembler "shllv?_s.w" } } */ -/* { dg-final { scan-assembler "shrlv?.qb" } } */ -/* { dg-final { scan-assembler "shrav?.ph" } } */ -/* { dg-final { scan-assembler "shrav?_r.ph" } } */ -/* { dg-final { scan-assembler "shrav?_r.w" } } */ -/* { dg-final { scan-assembler "muleu_s.ph.qbl" } } */ -/* { dg-final { scan-assembler "muleu_s.ph.qbr" } } */ -/* { dg-final { scan-assembler "mulq_rs.ph" } } */ -/* { dg-final { scan-assembler "muleq_s.w.phl" } } */ -/* { dg-final { scan-assembler "muleq_s.w.phr" } } */ -/* { dg-final { scan-assembler "dpau.h.qbl" } } */ -/* { dg-final { scan-assembler "dpau.h.qbr" } } */ -/* { dg-final { scan-assembler "dpsu.h.qbl" } } */ -/* { dg-final { scan-assembler "dpsu.h.qbr" } } */ -/* { dg-final { scan-assembler "dpaq_s.w.ph" } } */ -/* { dg-final { scan-assembler "dpsq_s.w.ph" } } */ -/* { dg-final { scan-assembler "mulsaq_s.w.ph" } } */ -/* { dg-final { scan-assembler "dpaq_sa.l.w" } } */ -/* { dg-final { scan-assembler "dpsq_sa.l.w" } } */ -/* { dg-final { scan-assembler "maq_s.w.phl" } } */ -/* { dg-final { scan-assembler "maq_s.w.phr" } } */ -/* { dg-final { scan-assembler "maq_sa.w.phl" } } */ -/* { dg-final { scan-assembler "maq_sa.w.phr" } } */ -/* { dg-final { scan-assembler "bitrev" } } */ -/* { dg-final { scan-assembler "insv" } } */ -/* { dg-final { scan-assembler "replv?.qb" } } */ -/* { dg-final { scan-assembler "repl.ph" } } */ -/* { dg-final { scan-assembler "replv.ph" } } */ -/* { dg-final { scan-assembler "cmpu.eq.qb" } } */ -/* { dg-final { scan-assembler "cmpu.lt.qb" } } */ -/* { dg-final { scan-assembler "cmpu.le.qb" } } */ -/* { dg-final { scan-assembler "cmpgu.eq.qb" } } */ -/* { dg-final { scan-assembler "cmpgu.lt.qb" } } */ -/* { dg-final { scan-assembler "cmpgu.le.qb" } } */ -/* { dg-final { scan-assembler "cmp.eq.ph" } } */ -/* { dg-final { scan-assembler "cmp.lt.ph" } } */ -/* { dg-final { scan-assembler "cmp.le.ph" } } */ -/* { dg-final { scan-assembler "pick.qb" } } */ -/* { dg-final { scan-assembler "pick.ph" } } */ -/* { dg-final { scan-assembler "packrl.ph" } } */ -/* { dg-final { scan-assembler "extrv?.w" } } */ -/* { dg-final { scan-assembler "extrv?_s.h" } } */ -/* { dg-final { scan-assembler "extrv?_r.w" } } */ -/* { dg-final { scan-assembler "extrv?_rs.w" } } */ -/* { dg-final { scan-assembler "extpv?" } } */ -/* { dg-final { scan-assembler "extpdpv?" } } */ -/* { dg-final { scan-assembler "shilov?" } } */ -/* { dg-final { scan-assembler "mthlip" } } */ -/* { dg-final { scan-assembler "mfhi" } } */ -/* { dg-final { scan-assembler "mflo" } } */ -/* { dg-final { scan-assembler "mthi" } } */ -/* { dg-final { scan-assembler "mtlo" } } */ -/* { dg-final { scan-assembler "wrdsp" } } */ -/* { dg-final { scan-assembler "rddsp" } } */ -/* { dg-final { scan-assembler "lbux?" } } */ -/* { dg-final { scan-assembler "lhx?" } } */ -/* { dg-final { scan-assembler "lwx?" } } */ -/* { dg-final { scan-assembler "bposge32" } } */ -/* { dg-final { scan-assembler "madd" } } */ -/* { dg-final { scan-assembler "maddu" } } */ -/* { dg-final { scan-assembler "msub" } } */ -/* { dg-final { scan-assembler "msubu" } } */ -/* { dg-final { scan-assembler "mult" } } */ -/* { dg-final { scan-assembler "multu" } } */ +/* { dg-final { scan-assembler "\taddq.ph\t" } } */ +/* { dg-final { scan-assembler "\taddq_s.ph\t" } } */ +/* { dg-final { scan-assembler "\taddq_s.w\t" } } */ +/* { dg-final { scan-assembler "\taddu.qb\t" } } */ +/* { dg-final { scan-assembler "\taddu_s.qb\t" } } */ +/* { dg-final { scan-assembler "\tsubq.ph\t" } } */ +/* { dg-final { scan-assembler "\tsubq_s.ph\t" } } */ +/* { dg-final { scan-assembler "\tsubq_s.w\t" } } */ +/* { dg-final { scan-assembler "\tsubu.qb\t" } } */ +/* { dg-final { scan-assembler "\tsubu_s.qb\t" } } */ +/* { dg-final { scan-assembler "\taddsc\t" } } */ +/* { dg-final { scan-assembler "\taddwc\t" } } */ +/* { dg-final { scan-assembler "\tmodsub\t" } } */ +/* { dg-final { scan-assembler "\traddu.w.qb\t" } } */ +/* { dg-final { scan-assembler "\tabsq_s.ph\t" } } */ +/* { dg-final { scan-assembler "\tabsq_s.w\t" } } */ +/* { dg-final { scan-assembler "\tprecrq.qb.ph\t" } } */ +/* { dg-final { scan-assembler "\tprecrq.ph.w\t" } } */ +/* { dg-final { scan-assembler "\tprecrq_rs.ph.w\t" } } */ +/* { dg-final { scan-assembler "\tprecrqu_s.qb.ph\t" } } */ +/* { dg-final { scan-assembler "\tpreceq.w.phl\t" } } */ +/* { dg-final { scan-assembler "\tpreceq.w.phr\t" } } */ +/* { dg-final { scan-assembler "\tprecequ.ph.qbl\t" } } */ +/* { dg-final { scan-assembler "\tprecequ.ph.qbr\t" } } */ +/* { dg-final { scan-assembler "\tprecequ.ph.qbla\t" } } */ +/* { dg-final { scan-assembler "\tprecequ.ph.qbra\t" } } */ +/* { dg-final { scan-assembler "\tpreceu.ph.qbl\t" } } */ +/* { dg-final { scan-assembler "\tpreceu.ph.qbr\t" } } */ +/* { dg-final { scan-assembler "\tpreceu.ph.qbla\t" } } */ +/* { dg-final { scan-assembler "\tpreceu.ph.qbra\t" } } */ +/* { dg-final { scan-assembler "\tshllv?.qb\t" } } */ +/* { dg-final { scan-assembler "\tshllv?.ph\t" } } */ +/* { dg-final { scan-assembler "\tshllv?_s.ph\t" } } */ +/* { dg-final { scan-assembler "\tshllv?_s.w\t" } } */ +/* { dg-final { scan-assembler "\tshrlv?.qb\t" } } */ +/* { dg-final { scan-assembler "\tshrav?.ph\t" } } */ +/* { dg-final { scan-assembler "\tshrav?_r.ph\t" } } */ +/* { dg-final { scan-assembler "\tshrav?_r.w\t" } } */ +/* { dg-final { scan-assembler "\tmuleu_s.ph.qbl\t" } } */ +/* { dg-final { scan-assembler "\tmuleu_s.ph.qbr\t" } } */ +/* { dg-final { scan-assembler "\tmulq_rs.ph\t" } } */ +/* { dg-final { scan-assembler "\tmuleq_s.w.phl\t" } } */ +/* { dg-final { scan-assembler "\tmuleq_s.w.phr\t" } } */ +/* { dg-final { scan-assembler "\tdpau.h.qbl\t" } } */ +/* { dg-final { scan-assembler "\tdpau.h.qbr\t" } } */ +/* { dg-final { scan-assembler "\tdpsu.h.qbl\t" } } */ +/* { dg-final { scan-assembler "\tdpsu.h.qbr\t" } } */ +/* { dg-final { scan-assembler "\tdpaq_s.w.ph\t" } } */ +/* { dg-final { scan-assembler "\tdpsq_s.w.ph\t" } } */ +/* { dg-final { scan-assembler "\tmulsaq_s.w.ph\t" } } */ +/* { dg-final { scan-assembler "\tdpaq_sa.l.w\t" } } */ +/* { dg-final { scan-assembler "\tdpsq_sa.l.w\t" } } */ +/* { dg-final { scan-assembler "\tmaq_s.w.phl\t" } } */ +/* { dg-final { scan-assembler "\tmaq_s.w.phr\t" } } */ +/* { dg-final { scan-assembler "\tmaq_sa.w.phl\t" } } */ +/* { dg-final { scan-assembler "\tmaq_sa.w.phr\t" } } */ +/* { dg-final { scan-assembler "\tbitrev\t" } } */ +/* { dg-final { scan-assembler "\tinsv\t" } } */ +/* { dg-final { scan-assembler "\treplv?.qb\t" } } */ +/* { dg-final { scan-assembler "\trepl.ph\t" } } */ +/* { dg-final { scan-assembler "\treplv.ph\t" } } */ +/* { dg-final { scan-assembler "\tcmpu.eq.qb\t" } } */ +/* { dg-final { scan-assembler "\tcmpu.lt.qb\t" } } */ +/* { dg-final { scan-assembler "\tcmpu.le.qb\t" } } */ +/* { dg-final { scan-assembler "\tcmpgu.eq.qb\t" } } */ +/* { dg-final { scan-assembler "\tcmpgu.lt.qb\t" } } */ +/* { dg-final { scan-assembler "\tcmpgu.le.qb\t" } } */ +/* { dg-final { scan-assembler "\tcmp.eq.ph\t" } } */ +/* { dg-final { scan-assembler "\tcmp.lt.ph\t" } } */ +/* { dg-final { scan-assembler "\tcmp.le.ph\t" } } */ +/* { dg-final { scan-assembler "\tpick.qb\t" } } */ +/* { dg-final { scan-assembler "\tpick.ph\t" } } */ +/* { dg-final { scan-assembler "\tpackrl.ph\t" } } */ +/* { dg-final { scan-assembler "\textrv?.w\t" } } */ +/* { dg-final { scan-assembler "\textrv?_s.h\t" } } */ +/* { dg-final { scan-assembler "\textrv?_r.w\t" } } */ +/* { dg-final { scan-assembler "\textrv?_rs.w\t" } } */ +/* { dg-final { scan-assembler "\textpv?\t" } } */ +/* { dg-final { scan-assembler "\textpdpv?\t" } } */ +/* { dg-final { scan-assembler "\tshilov?\t" } } */ +/* { dg-final { scan-assembler "\tmthlip\t" } } */ +/* { dg-final { scan-assembler "\tmfhi\t" } } */ +/* { dg-final { scan-assembler "\tmflo\t" } } */ +/* { dg-final { scan-assembler "\tmthi\t" } } */ +/* { dg-final { scan-assembler "\tmtlo\t" } } */ +/* { dg-final { scan-assembler "\twrdsp\t" } } */ +/* { dg-final { scan-assembler "\trddsp\t" } } */ +/* { dg-final { scan-assembler "\tlbux?\t" } } */ +/* { dg-final { scan-assembler "\tlhx?\t" } } */ +/* { dg-final { scan-assembler "\tlwx?\t" } } */ +/* { dg-final { scan-assembler "\tbposge32\t" } } */ +/* { dg-final { scan-assembler "\tmadd\t" } } */ +/* { dg-final { scan-assembler "\tmaddu\t" } } */ +/* { dg-final { scan-assembler "\tmsub\t" } } */ +/* { dg-final { scan-assembler "\tmsubu\t" } } */ +/* { dg-final { scan-assembler "\tmult\t" } } */ +/* { dg-final { scan-assembler "\tmultu\t" } } */ #include #include @@ -156,8 +156,10 @@ NOMIPS16 void test_MIPS_DSP () v4i8 v4i8_a,v4i8_b,v4i8_c,v4i8_r,v4i8_s; v2q15 v2q15_a,v2q15_b,v2q15_c,v2q15_r,v2q15_s; q31 q31_a,q31_b,q31_c,q31_r,q31_s; - i32 i32_a,i32_b,i32_c,i32_r,i32_s; - ui32 ui32_a,ui32_b,ui32_c; + /* To protect the multiplication-related tests from being optimized + at compile time. */ + volatile i32 i32_a,i32_b,i32_c,i32_r,i32_s; + volatile ui32 ui32_a,ui32_b,ui32_c; a64 a64_a,a64_b,a64_c,a64_r,a64_s; void *ptr_a;