* gcc.dg/vect/vect-reduc-dot-s16b.c: Mark functions noinline.
* gcc.dg/vect/vect-105.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-6.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-53.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-2short.c: Mark functions noinline.
* gcc.dg/vect/fast-math-vect-pr29925.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u8a.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-7.c: Mark functions noinline.
* gcc.dg/vect/vect-50.c: Mark functions noinline.
* gcc.dg/vect/vect-33.c: Mark functions noinline.
* gcc.dg/vect/vect-16.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-sum.c: Mark functions noinline.
* gcc.dg/vect/vect-float-extend-1.c: Mark functions noinline.
* gcc.dg/vect/vect-92.c: Mark functions noinline.
* gcc.dg/vect/vect-75.c: Mark functions noinline.
* gcc.dg/vect/vect-58.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2b.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-7.c: Mark functions noinline.
* gcc.dg/vect/no-section-anchors-vect-69.c: Mark functions noinline.
* gcc.dg/vect/vect-114.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4g.c: Mark functions noinline.
* gcc.dg/vect/vect-8.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-1.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-45.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10a.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-5.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-18.c: Mark functions noinline.
* gcc.dg/vect/vect-42.c: Mark functions noinline.
* gcc.dg/vect/vect-25.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-01.c: Mark functions noinline.
* gcc.dg/vect/vect-67.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-106.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-37.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2short.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u8b.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-8.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-79.c: Mark functions noinline.
* gcc.dg/vect/vect-34.c: Mark functions noinline.
* gcc.dg/vect/vect-17.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-102a.c: Mark functions noinline.
* gcc.dg/vect/vect-align-1.c: Mark functions noinline.
* gcc.dg/vect/vect-93.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-s16.c: Mark functions noinline.
* gcc.dg/vect/vect-76.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-5.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-8.c: Mark functions noinline.
* gcc.dg/vect/vect-115.c: Mark functions noinline.
* gcc.dg/vect/vect-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1a.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-11.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-10b.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-u8.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-6.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-19.c: Mark functions noinline.
* gcc.dg/vect/vect-60.c: Mark functions noinline.
* gcc.dg/vect/vect-26.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-02.c: Mark functions noinline.
* gcc.dg/vect/vect-85.c: Mark functions noinline.
* gcc.dg/vect/vect-68.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3b.c: Mark functions noinline.
* gcc.dg/vect/vect-floatint-conversion-1.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-8.c: Mark functions noinline.
* gcc.dg/vect/vect-107.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-1.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-20.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-9.c: Mark functions noinline.
* gcc.dg/vect/vect-52.c: Mark functions noinline.
* gcc.dg/vect/vect-35.c: Mark functions noinline.
* gcc.dg/vect/vect-18.c: Mark functions noinline.
* gcc.dg/vect/vect-align-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-1.c: Mark functions noinline.
* gcc.dg/vect/vect-77.c: Mark functions noinline.
* gcc.dg/vect/vect-2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2d.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-6.c: Mark functions noinline.
* gcc.dg/vect/vect-82_64.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i2-gap.c: Mark functions noinline.
* gcc.dg/vect/vect-116.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-vect-iv-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-12.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-101.c: Mark functions noinline.
* gcc.dg/vect/vect-44.c: Mark functions noinline.
* gcc.dg/vect/vect-27.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-03.c: Mark functions noinline.
* gcc.dg/vect/vect-86.c: Mark functions noinline.
* gcc.dg/vect/vect-100.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3c.c: Mark functions noinline.
* gcc.dg/vect/vect-floatint-conversion-2.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u32-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-fir-lb.c: Mark functions noinline.
* gcc.dg/vect/vect-108.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-21.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2a.c: Mark functions noinline.
* gcc.dg/vect/vect-11.c: Mark functions noinline.
* gcc.dg/vect/vect-70.c: Mark functions noinline.
* gcc.dg/vect/vect-36.c: Mark functions noinline.
* gcc.dg/vect/vect-19.c: Mark functions noinline.
* gcc.dg/vect/vect-95.c: Mark functions noinline.
* gcc.dg/vect/vect-78.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-3.c: Mark functions noinline.
* gcc.dg/vect/vect-all.c: Mark functions noinline.
* gcc.dg/vect/vect-117.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-13.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u16-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Mark functions noinline.
* gcc.dg/vect/vect-20.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-8.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-102.c: Mark functions noinline.
* gcc.dg/vect/vect-62.c: Mark functions noinline.
* gcc.dg/vect/vect-28.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-10.c: Mark functions noinline.
* gcc.dg/vect/vect-vfa-04.c: Mark functions noinline.
* gcc.dg/vect/vect-87.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u16a.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-4a.c: Mark functions noinline.
* gcc.dg/vect/vect-109.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-22.c: Mark functions noinline.
* gcc.dg/vect/no-section-anchors-vect-outer-4h.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8a.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-57.c: Mark functions noinline.
* gcc.dg/vect/vect-12.c: Mark functions noinline.
* gcc.dg/vect/vect-71.c: Mark functions noinline.
* gcc.dg/vect/vect-54.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-mult.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-96.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1char.c: Mark functions noinline.
* gcc.dg/vect/vect-110.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-1.c: Mark functions noinline.
* gcc.dg/vect/vect-4.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-u32-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4k.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-1.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-mult.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-14.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-49.c: Mark functions noinline.
* gcc.dg/vect/vect-21.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-9.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Mark functions noinline.
* gcc.dg/vect/vect-80.c: Mark functions noinline.
* gcc.dg/vect/vect-63.c: Mark functions noinline.
* gcc.dg/vect/vect-46.c: Mark functions noinline.
* gcc.dg/vect/vect-29.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-11.c: Mark functions noinline.
* gcc.dg/vect/vect-88.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-u16b.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-3.c: Mark functions noinline.
* gcc.dg/vect/vect-83_64.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-4b.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-4.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-pattern-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Mark functions noinline.
* gcc.dg/vect/vect-30.c: Mark functions noinline.
* gcc.dg/vect/vect-13.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-8a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-same-dr.c: Mark functions noinline.
* gcc.dg/vect/vect-72.c: Mark functions noinline.
* gcc.dg/vect/vect-38.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-4.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-u16.c: Mark functions noinline.
* gcc.dg/vect/vect-97.c: Mark functions noinline.
* gcc.dg/vect/vect-111.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4d.c: Mark functions noinline.
* gcc.dg/vect/vect-5.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-mult-char-ls.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-store-a-u8-i2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4l.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-15.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-1short.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u16-i4.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-i8.c: Mark functions noinline.
* gcc.dg/vect/vect-22.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-64.c: Mark functions noinline.
* gcc.dg/vect/vect-89.c: Mark functions noinline.
* gcc.dg/vect/no-tree-dom-vect-bug.c: Mark functions noinline.
* gcc.dg/vect/vect-103.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-51.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-pr29145.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-5.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s8c.c: Mark functions noinline.
* gcc.dg/vect/vect-11a.c: Mark functions noinline.
* gcc.dg/vect/vect-31.c: Mark functions noinline.
* gcc.dg/vect/vect-14.c: Mark functions noinline.
* gcc.dg/vect/vect-73.c: Mark functions noinline.
* gcc.dg/vect/vect-56.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-5.c: Mark functions noinline.
* gcc.dg/vect/vect-98.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-float.c: Mark functions noinline.
* gcc.dg/vect/vect-intfloat-conversion-3.c: Mark functions noinline.
* gcc.dg/vect/vect-112.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9a.c: Mark functions noinline.
* gcc.dg/vect/vect-6.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-43.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4m.c: Mark functions noinline.
* gcc.dg/vect/vect-widen-mult-s8.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-3.c: Mark functions noinline.
* gcc.dg/vect/pr25413.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-16.c: Mark functions noinline.
* gcc.dg/vect/vect-40.c: Mark functions noinline.
* gcc.dg/vect/vect-23.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-4.c: Mark functions noinline.
* gcc.dg/vect/vect-82.c: Mark functions noinline.
* gcc.dg/vect/vect-65.c: Mark functions noinline.
* gcc.dg/vect/vect-48.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-dot-s16a.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Mark functions noinline.
* gcc.dg/vect/vect-104.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-fir.c: Mark functions noinline.
* gcc.dg/vect/vect-iv-6.c: Mark functions noinline.
* gcc.dg/vect/vect-strided-u32-mult.c: Mark functions noinline.
* gcc.dg/vect/vect-32.c: Mark functions noinline.
* gcc.dg/vect/vect-15.c: Mark functions noinline.
* gcc.dg/vect/no-trapping-math-2.c: Mark functions noinline.
* gcc.dg/vect/vect-float-truncate-1.c: Mark functions noinline.
* gcc.dg/vect/vect-91.c: Mark functions noinline.
* gcc.dg/vect/vect-74.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-2a.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-3.c: Mark functions noinline.
* gcc.dg/vect/vect-reduc-2char.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-6.c: Mark functions noinline.
* gcc.dg/vect/vect-99.c: Mark functions noinline.
* gcc.dg/vect/vect-113.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-9b.c: Mark functions noinline.
* gcc.dg/vect/vect-outer-4f.c: Mark functions noinline.
* gcc.dg/vect/vect-7.c: Mark functions noinline.
* gcc.dg/vect/no-vfa-vect-61.c: Mark functions noinline.
* gcc.dg/vect/vect-multitypes-4.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-outer-17.c: Mark functions noinline.
* gcc.dg/vect/vect-24.c: Mark functions noinline.
* gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: Mark functions noinline.
* gcc.dg/vect/vect-83.c: Mark functions noinline.
* gcc.dg/vect/vect-66.c: Mark functions noinline.
* gcc.dg/vect/wrapv-vect-reduc-2char.c: Mark functions noinline.
From-SVN: r128079
+2007-09-04 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/vect/vect-reduc-dot-s16b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-105.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-6.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-53.c: Mark functions noinline.
+ * gcc.dg/vect/wrapv-vect-reduc-2short.c: Mark functions noinline.
+ * gcc.dg/vect/fast-math-vect-pr29925.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-u8a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-7.c: Mark functions noinline.
+ * gcc.dg/vect/vect-50.c: Mark functions noinline.
+ * gcc.dg/vect/vect-33.c: Mark functions noinline.
+ * gcc.dg/vect/vect-16.c: Mark functions noinline.
+ * gcc.dg/vect/vect-widen-mult-sum.c: Mark functions noinline.
+ * gcc.dg/vect/vect-float-extend-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-92.c: Mark functions noinline.
+ * gcc.dg/vect/vect-75.c: Mark functions noinline.
+ * gcc.dg/vect/vect-58.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-2b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-4.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-7.c: Mark functions noinline.
+ * gcc.dg/vect/no-section-anchors-vect-69.c: Mark functions noinline.
+ * gcc.dg/vect/vect-114.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-4g.c: Mark functions noinline.
+ * gcc.dg/vect/vect-8.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-vect-iv-1.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-10.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-45.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-10a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-5.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-18.c: Mark functions noinline.
+ * gcc.dg/vect/vect-42.c: Mark functions noinline.
+ * gcc.dg/vect/vect-25.c: Mark functions noinline.
+ * gcc.dg/vect/vect-vfa-01.c: Mark functions noinline.
+ * gcc.dg/vect/vect-67.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-3a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-u16-mult.c: Mark functions noinline.
+ * gcc.dg/vect/vect-106.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-7.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-37.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-2short.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-u8b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-8.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-79.c: Mark functions noinline.
+ * gcc.dg/vect/vect-34.c: Mark functions noinline.
+ * gcc.dg/vect/vect-17.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-102a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-align-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-93.c: Mark functions noinline.
+ * gcc.dg/vect/vect-widen-mult-s16.c: Mark functions noinline.
+ * gcc.dg/vect/vect-76.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-u16-i2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-2c.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-5.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-8.c: Mark functions noinline.
+ * gcc.dg/vect/vect-115.c: Mark functions noinline.
+ * gcc.dg/vect/vect-9.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-vect-iv-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-pattern-1a.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-11.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-10b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u32-i4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-widen-mult-u8.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-6.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-19.c: Mark functions noinline.
+ * gcc.dg/vect/vect-60.c: Mark functions noinline.
+ * gcc.dg/vect/vect-26.c: Mark functions noinline.
+ * gcc.dg/vect/vect-vfa-02.c: Mark functions noinline.
+ * gcc.dg/vect/vect-85.c: Mark functions noinline.
+ * gcc.dg/vect/vect-68.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-3b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-floatint-conversion-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-8.c: Mark functions noinline.
+ * gcc.dg/vect/vect-107.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-1.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-20.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-9.c: Mark functions noinline.
+ * gcc.dg/vect/vect-52.c: Mark functions noinline.
+ * gcc.dg/vect/vect-35.c: Mark functions noinline.
+ * gcc.dg/vect/vect-18.c: Mark functions noinline.
+ * gcc.dg/vect/vect-align-2.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-77.c: Mark functions noinline.
+ * gcc.dg/vect/vect-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-2d.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-6.c: Mark functions noinline.
+ * gcc.dg/vect/vect-82_64.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-9.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u8-i2-gap.c: Mark functions noinline.
+ * gcc.dg/vect/vect-116.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-store-u16-i4.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-vect-iv-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-pattern-1b.c: Mark functions noinline.
+ * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-12.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-7.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-101.c: Mark functions noinline.
+ * gcc.dg/vect/vect-44.c: Mark functions noinline.
+ * gcc.dg/vect/vect-27.c: Mark functions noinline.
+ * gcc.dg/vect/vect-vfa-03.c: Mark functions noinline.
+ * gcc.dg/vect/vect-86.c: Mark functions noinline.
+ * gcc.dg/vect/vect-100.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-3c.c: Mark functions noinline.
+ * gcc.dg/vect/vect-floatint-conversion-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-u32-mult.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u8-i8.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-fir-lb.c: Mark functions noinline.
+ * gcc.dg/vect/vect-108.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-9.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-21.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-pattern-2a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-11.c: Mark functions noinline.
+ * gcc.dg/vect/vect-70.c: Mark functions noinline.
+ * gcc.dg/vect/vect-36.c: Mark functions noinline.
+ * gcc.dg/vect/vect-19.c: Mark functions noinline.
+ * gcc.dg/vect/vect-95.c: Mark functions noinline.
+ * gcc.dg/vect/vect-78.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-u16-i4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-all.c: Mark functions noinline.
+ * gcc.dg/vect/vect-117.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-13.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-pattern-1c.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u16-i2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Mark functions noinline.
+ * gcc.dg/vect/vect-20.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-8.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-noreassoc-outer-1.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-102.c: Mark functions noinline.
+ * gcc.dg/vect/vect-62.c: Mark functions noinline.
+ * gcc.dg/vect/vect-28.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-10.c: Mark functions noinline.
+ * gcc.dg/vect/vect-vfa-04.c: Mark functions noinline.
+ * gcc.dg/vect/vect-87.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-u16a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-intfloat-conversion-4a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-109.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-22.c: Mark functions noinline.
+ * gcc.dg/vect/no-section-anchors-vect-outer-4h.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-pattern-2b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-s8a.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-57.c: Mark functions noinline.
+ * gcc.dg/vect/vect-12.c: Mark functions noinline.
+ * gcc.dg/vect/vect-71.c: Mark functions noinline.
+ * gcc.dg/vect/vect-54.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-mult.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-96.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-1char.c: Mark functions noinline.
+ * gcc.dg/vect/vect-110.c: Mark functions noinline.
+ * gcc.dg/vect/vect-intfloat-conversion-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-store-u32-i2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-4k.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-mult.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-14.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-49.c: Mark functions noinline.
+ * gcc.dg/vect/vect-21.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-9.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-noreassoc-outer-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-80.c: Mark functions noinline.
+ * gcc.dg/vect/vect-63.c: Mark functions noinline.
+ * gcc.dg/vect/vect-46.c: Mark functions noinline.
+ * gcc.dg/vect/vect-29.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-11.c: Mark functions noinline.
+ * gcc.dg/vect/vect-88.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u8-i2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-u16b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-83_64.c: Mark functions noinline.
+ * gcc.dg/vect/vect-intfloat-conversion-4b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-pattern-2c.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-s8b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-30.c: Mark functions noinline.
+ * gcc.dg/vect/vect-13.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-8a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-same-dr.c: Mark functions noinline.
+ * gcc.dg/vect/vect-72.c: Mark functions noinline.
+ * gcc.dg/vect/vect-38.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-widen-mult-u16.c: Mark functions noinline.
+ * gcc.dg/vect/vect-97.c: Mark functions noinline.
+ * gcc.dg/vect/vect-111.c: Mark functions noinline.
+ * gcc.dg/vect/vect-intfloat-conversion-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-4d.c: Mark functions noinline.
+ * gcc.dg/vect/vect-5.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-mult-char-ls.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-4l.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-2.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-15.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-1short.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u16-i4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u32-i8.c: Mark functions noinline.
+ * gcc.dg/vect/vect-22.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-noreassoc-outer-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-64.c: Mark functions noinline.
+ * gcc.dg/vect/vect-89.c: Mark functions noinline.
+ * gcc.dg/vect/no-tree-dom-vect-bug.c: Mark functions noinline.
+ * gcc.dg/vect/vect-103.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-51.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-pr29145.c: Mark functions noinline.
+ * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-5.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-s8c.c: Mark functions noinline.
+ * gcc.dg/vect/vect-11a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-31.c: Mark functions noinline.
+ * gcc.dg/vect/vect-14.c: Mark functions noinline.
+ * gcc.dg/vect/vect-73.c: Mark functions noinline.
+ * gcc.dg/vect/vect-56.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-2.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-5.c: Mark functions noinline.
+ * gcc.dg/vect/vect-98.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-float.c: Mark functions noinline.
+ * gcc.dg/vect/vect-intfloat-conversion-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-112.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-9a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-6.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-43.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-4m.c: Mark functions noinline.
+ * gcc.dg/vect/vect-widen-mult-s8.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-3.c: Mark functions noinline.
+ * gcc.dg/vect/pr25413.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-16.c: Mark functions noinline.
+ * gcc.dg/vect/vect-40.c: Mark functions noinline.
+ * gcc.dg/vect/vect-23.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-noreassoc-outer-4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-82.c: Mark functions noinline.
+ * gcc.dg/vect/vect-65.c: Mark functions noinline.
+ * gcc.dg/vect/vect-48.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-dot-s16a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Mark functions noinline.
+ * gcc.dg/vect/vect-104.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-fir.c: Mark functions noinline.
+ * gcc.dg/vect/vect-iv-6.c: Mark functions noinline.
+ * gcc.dg/vect/vect-strided-u32-mult.c: Mark functions noinline.
+ * gcc.dg/vect/vect-32.c: Mark functions noinline.
+ * gcc.dg/vect/vect-15.c: Mark functions noinline.
+ * gcc.dg/vect/no-trapping-math-2.c: Mark functions noinline.
+ * gcc.dg/vect/vect-float-truncate-1.c: Mark functions noinline.
+ * gcc.dg/vect/vect-91.c: Mark functions noinline.
+ * gcc.dg/vect/vect-74.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-2a.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-3.c: Mark functions noinline.
+ * gcc.dg/vect/vect-reduc-2char.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-6.c: Mark functions noinline.
+ * gcc.dg/vect/vect-99.c: Mark functions noinline.
+ * gcc.dg/vect/vect-113.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-9b.c: Mark functions noinline.
+ * gcc.dg/vect/vect-outer-4f.c: Mark functions noinline.
+ * gcc.dg/vect/vect-7.c: Mark functions noinline.
+ * gcc.dg/vect/no-vfa-vect-61.c: Mark functions noinline.
+ * gcc.dg/vect/vect-multitypes-4.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-outer-17.c: Mark functions noinline.
+ * gcc.dg/vect/vect-24.c: Mark functions noinline.
+ * gcc.dg/vect/no-scevccp-noreassoc-outer-5.c: Mark functions noinline.
+ * gcc.dg/vect/vect-83.c: Mark functions noinline.
+ * gcc.dg/vect/vect-66.c: Mark functions noinline.
+ * gcc.dg/vect/wrapv-vect-reduc-2char.c: Mark functions noinline.
+
2007-09-04 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/33187
#include <stdlib.h>
#include "tree-vect.h"
+__attribute__ ((noinline))
void interp_pitch(float *exc, float *interp, int pitch, int len)
{
int i,k;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j,k=0;
int sum,x;
#define N 40
int a[200*N];
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
int sum,s=0;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum,x;
#define N 40
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum,s=0;
return s;
}
+__attribute__ ((noinline))
int bar (int i, int j)
{
return (i + j);
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum,x;
/* memory references in the inner-loop */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (){
int i,j;
unsigned int diff = 0;
int a[N];
int b[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum,x,y;
int a[N];
int b[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum,x,y;
int a[N];
int b[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum,x,y;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum;
int a[N];
short b[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum;
unsigned short in[N];
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (short scale){
int i;
unsigned short j;
return sum;
}
-unsigned short
+__attribute__ ((noinline)) unsigned short
bar (void)
{
unsigned short j;
#define N 64
-unsigned short
+__attribute__ ((noinline)) unsigned short
foo (short scale){
int i;
unsigned short j;
return sum;
}
-unsigned short
+__attribute__ ((noinline)) unsigned short
bar (void)
{
unsigned short j;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (int x){
int i,j;
int sum;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i;
unsigned short j;
int b[N];
int c[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i;
unsigned short j;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum;
unsigned short a[N];
unsigned int b[N];
-int
+__attribute__ ((noinline)) int
foo (){
unsigned short i,j;
unsigned short sum;
int a[N];
int b[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum,x,y;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i;
unsigned short j;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum;
/* induction variable k advances through inner and outer loops. */
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j,k=0;
int sum;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (){
int i,j;
int sum;
#define N 40
-int
+__attribute__ ((noinline)) int
foo (int * __restrict__ b, int k){
int i,j;
int sum,x;
unsigned short coef[N];
unsigned short a[N];
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (short scale){
int i;
unsigned short j;
#define N 40
-int
+__attribute__ ((noinline)) int
foo (int *a){
int i,j;
int sum;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum;
int a[N];
-int
+__attribute__ ((noinline)) int
foo (int n){
int i,j;
int sum;
#define N 26
-int main1 (int X)
+__attribute__ ((noinline)) int main1 (int X)
{
int s = X;
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int arr1[N];
#define N 26
+__attribute__ ((noinline))
unsigned int main1 ()
{
unsigned short i;
struct test1 tmp1[4];
struct test2 tmp2[4];
+__attribute__ ((noinline))
int main1 ()
{
int i,j;
/* Outer-loop vectorization. */
+__attribute__ ((noinline))
void
foo (){
int i,j;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
long stack_vars_sorted[32];
-int
+__attribute__ ((noinline)) int
main1 (long n)
{
long si;
#include <stdarg.h>
#include "tree-vect.h"
+__attribute__ ((noinline))
void with_restrict(int * __restrict p)
{
int i;
}
}
+__attribute__ ((noinline))
void without_restrict(int * p)
{
int i;
static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,0};
+__attribute__ ((noinline))
int main1 (int x, int y) {
int i;
struct extraction *p;
static int b[N] = {2,3,4,5,6,7,8,9,9};
volatile int foo;
+__attribute__ ((noinline))
int main1 (int x, int y) {
int i;
struct extraction *p;
static int b[N] = {2,3,4,5,6,7,8,9,9};
volatile int foo;
+__attribute__ ((noinline))
int main1 (int x, int y) {
int i;
struct extraction *p;
#define N 16
char x[N] __attribute__ ((__aligned__(16)));
+__attribute__ ((noinline))
int main1 (char *y)
{
struct {
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
}
-int
+__attribute__ ((noinline)) int
main1 (float *pa)
{
int i;
return 0;
}
-int
+__attribute__ ((noinline)) int
main2 (float * pa)
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (const float *pa, const float *pb, const float *pc)
{
int i;
vect-44.c is similar to this one with one difference:
Aliasing is not a problem. */
-int
+__attribute__ ((noinline)) int
main1 (float *pa, float *pb, float *pc)
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-48.c is similar to this one with one difference:
aliasing is not a problem. */
-int
+__attribute__ ((noinline)) int
main1 (float *pb, float *pc)
{
float pa[N] __attribute__ ((__aligned__(16)));
#define N 256
+__attribute__ ((noinline))
void bar (const float *pa, const float *pb, const float *pc)
{
int i;
vect-50.c is similar to this one with one difference:
Aliasing is not a problem. */
-int
+__attribute__ ((noinline)) int
main1 (int n, float *pa, float *pb, float *pc)
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (const float *pa, const float *pb, const float *pc)
{
int i;
vect-52.c is similar to this one with one difference:
aliasing is not a problem. */
-int
+__attribute__ ((noinline)) int
main1 (int n, float *pb, float *pc)
{
float pa[N] __attribute__ ((__aligned__(16)));
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-56.c is similar to this one with two differences:
aliasing is a problem, and the write access is aligned. */
-int
+__attribute__ ((noinline)) int
main1 (float *pa)
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-60.c is similar to this one with two differences:
aliasing is not a problem, and the write access is unaligned. */
-int
+__attribute__ ((noinline)) int
main1 (int n , float *pa)
{
int i;
/* Like vect-80.c but the pointers are not annotated as restricted,
and therefore can't be antialiased. */
-int
+__attribute__ ((noinline)) int
main1 (float *pa, float *pb, float *pc)
{
int i;
double d[N];
} a;
+__attribute__ ((noinline))
int main1()
{
int i;
static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,0};
+__attribute__ ((noinline))
int main1 () {
int i;
struct extraction *p;
return 0;
}
+__attribute__ ((noinline))
int main2 () {
int i;
int c[N] = {1,2,3,4,5,6,7,8,9};
static int c[N] = {9,17,24,7,0,2,3,4,31};
volatile int foo;
+__attribute__ ((noinline))
int main1 (int x, int y) {
int i;
struct extraction *p;
static int c[N][N] = {{1,2,3},{4,6,8},{8,9,9}};
volatile int foo;
+__attribute__ ((noinline))
int main1 (int x) {
int i,j;
struct extraction *p;
static int b[N][N] = {{17,28,15,23},{0,2,3,24},{4,31,82,25},{29,31,432,256}};
static int c[N][N] = {{1,2,3,11},{4,9,13,34},{45,67,83,13},{34,45,67,83}};
+__attribute__ ((noinline))
int main1 (int x) {
int i,j;
struct extraction *p;
static int a[N] = {1,2,3,4,5,6,7,8,9};
static int b[N] = {2,3,4,5,6,7,8,9,0};
+__attribute__ ((noinline))
int main1 () {
int i;
int *p, *q, *p1, *q1;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
+__attribute__ ((noinline))
int main1 (int n)
{
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 16
-int
+static __attribute__ ((noinline)) int
main1 (void)
{
int i;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
int l;
};
+__attribute__ ((noinline))
int main1 ()
{
int i;
#include "tree-vect.h"
extern void abort (void);
+
+__attribute__ ((noinline))
void foo()
{
static unsigned char A[256], B[256], C[256];
volatile int foo;
+__attribute__ ((noinline))
int main1 (int A[N][N], int n)
{
#include "tree-vect.h"
extern void abort (void);
+
+__attribute__ ((noinline))
void u ()
{
unsigned int A[4] = {0x08000000,0xffffffff,0xff0000ff,0xf0000001};
if (C[i] != Answer[i])
abort ();
}
+
+__attribute__ ((noinline))
void s()
{
signed int A[4] = {0x08000000,0xffffffff,0xff0000ff,0xf0000001};
abort ();
}
+__attribute__ ((noinline))
int main1 ()
{
u();
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i;
int a[N];
int results[N] = {0,1,2,3,0,0,0,0,0,0,0,0,12,13,14,15};
+__attribute__ ((noinline))
int main1()
{
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 16
#define DIFF 240
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#include "tree-vect.h"
#define N 16
-
+
+__attribute__ ((noinline))
int main1 ()
{
char cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 64
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 128
+__attribute__ ((noinline))
int main1 (int n, int *p)
{
int i;
/* unaligned store. */
+__attribute__ ((noinline))
int main1 ()
{
int i;
/* unaligned load. */
+__attribute__ ((noinline))
int main1 ()
{
int i;
/* unaligned store. */
+__attribute__ ((noinline))
int main1 (int off)
{
int i;
/* unaligned load. */
+__attribute__ ((noinline))
int main1 (int off)
{
int i;
#define N 20
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
float a[N];
float c[N];
+__attribute__ ((noinline))
int main1 (int n)
{
int i=0;
return 0;
}
+__attribute__ ((noinline))
int main2 (unsigned int n)
{
int i=0;
struct t e; /* unaligned (offset 2N+4N+4 B) */
};
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
struct {
extern struct test s;
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
struct {
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
union {
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
struct {
double cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
double ca[N];
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 20
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-46.c is similar to this one with one difference:
the loop bound is unknown. */
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
The loop bound is known and divisible by the vectorization factor.
No aliasing problems. */
-int
+__attribute__ ((noinline)) int
main1 (float * __restrict__ pa)
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-45.c is similar to this one with one difference:
can't prove that pointers don't alias. */
-int
+__attribute__ ((noinline)) int
main1 (float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-40.c is similar to this one with one difference:
the loop bound is known. */
-int
+__attribute__ ((noinline)) int
main1 (int n)
{
int i;
vect-49.c is similar to this one with one difference:
aliasing is a problem. */
-int
+__attribute__ ((noinline)) int
main1 (float *pb, float *pc)
{
float pa[N] __attribute__ ((__aligned__(16)));
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i, j;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
return;
}
-int
+__attribute__ ((noinline)) int
main1 (int n, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{
int i;
vect-53.c is similar to this one with one difference:
aliasing is a problem. */
-int
+__attribute__ ((noinline)) int
main1 (int n, float *pb, float *pc)
{
float pa[N] __attribute__ ((__aligned__(16)));
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-58.c is similar to this one with one difference:
the loop bound is unknown. */
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-57.c is similar to this one with two differences:
aliasing is a problem, and the write access has unknown alignment. */
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-54.c is similar to this one with one difference:
the loop bound is known. */
-int
+__attribute__ ((noinline)) int
main1 (int n)
{
int i;
float results1[N] = {192.00,240.00,288.00,336.00,384.00,432.00,480.00,528.00,0.00};
float results2[N] = {0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,54.00,120.00,198.00,288.00,390.00,504.00,630.00};
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pa, float *pb, float *pc)
{
int i;
vect-61.c is similar to this one with two differences:
aliasing is not a problem, and the write access has unknown alignment. */
-int
+__attribute__ ((noinline)) int
main1 (int n)
{
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i, j;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i, j;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i, j;
#define N 16
#define M 4
+__attribute__ ((noinline))
int main1 ()
{
int i, j;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i, j;
#define N 16
+__attribute__ ((noinline))
int main1 (int a, int b)
{
int i, j;
struct s e; /* array e.n is aligned */
};
+__attribute__ ((noinline))
int main1 ()
{
int i,j;
#define N 128
+__attribute__ ((noinline))
int main1 ()
{
int i;
struct s e[N]; /* array e.n is aligned */
};
+__attribute__ ((noinline))
int main1 ()
{
int i,j;
/* indirect access. */
+__attribute__ ((noinline))
int main1 ()
{
int i;
/* unaligned load. */
+__attribute__ ((noinline))
int main1 ()
{
int i;
#define ia (ic+N)
+__attribute__ ((noinline))
int main1 ()
{
int i, j;
float b[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
float c[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
-int
+__attribute__ ((noinline)) int
main1 (float *__restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{
int i;
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
+__attribute__ ((noinline))
int main1 (int *ib)
{
int i;
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
+__attribute__ ((noinline))
int main1 (int *pib)
{
int i;
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
+__attribute__ ((noinline))
int main1 (int *ib, int off)
{
int i;
int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
int off = 8;
+__attribute__ ((noinline))
int main1 (int *ib)
{
int i;
float b[N] = {0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30};
float a[N];
+__attribute__ ((noinline))
int main1 (int n)
{
int i;
the expression that represents the first location accessed - is
more involved than just an ssa_name. */
-int
+__attribute__ ((noinline)) int
main1 (float * __restrict__ pa, float * __restrict__ pb, float *__restrict__ pc)
{
int i;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
long long unsigned int ca[N];
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
long long unsigned int ca[N];
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
long long unsigned int ca[N];
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
long long unsigned int ca[N];
#define N 16
+__attribute__ ((noinline))
int main1 (int *a)
{
int i, j, k;
#define N 16
+__attribute__ ((noinline))
int main1 (int n)
{
int i, j, k;
#define N 16
+__attribute__ ((noinline))
int main1 (int n, int *a)
{
int i, j, k;
#define N 16
+__attribute__ ((noinline))
int main1 (int n, int *a)
{
int i, j, k;
int y[N];
};
+__attribute__ ((noinline))
int main1 ()
{
int i, *q;
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
int i;
the same alignment. Peeling to align one of the accesses will
align the other. */
-int
+__attribute__ ((noinline)) int
main1 (int * pa)
{
int i;
the same alignment. Peeling to align one of the accesses will
align the other. */
-int
+__attribute__ ((noinline)) int
main2 ()
{
int i;
return 0;
}
-int
+__attribute__ ((noinline)) int
main3 ()
{
int i;
can use this information (generate prolog and epilog loops
with known number of iterations, and only if needed). */
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
return 0;
}
-int
+__attribute__ ((noinline)) int
main2 ()
{
int i;
return 0;
}
-int
+__attribute__ ((noinline)) int
main3 (int n)
{
int i;
#define N 3001
-int
+__attribute__ ((noinline))
main1 (float *pa)
{
int i;
#define N 256
+__attribute__ ((noinline))
void bar (float *pd, float *pa, float *pb, float *pc)
{
int i;
}
-int
+__attribute__ ((noinline)) int
main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
{
int i;
int ia[N];
};
+__attribute__ ((noinline))
int main1 (int off)
{
struct tmp sb[N];
#define N 16
+__attribute__ ((noinline))
int main1 ()
{
struct {
#define N 4
#define DOT4( a, b ) ( a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3] )
+__attribute__ ((noinline))
int main1 (int ia[][N])
{
int i, j;
int ca[100];
+__attribute__ ((noinline))
void foo (int n)
{
unsigned int i;
int y[N];
} __attribute__((packed));
-int
+__attribute__ ((noinline)) int
main1 (struct foo * __restrict__ p)
{
int i;
struct foo f2;
int z[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
+__attribute__ ((noinline))
void fbar(struct foo *fp)
{
int i,j;
float fresults2[N] = {0.00,6.00,12.00,18.00,24.00,30.00,36.00,42.00,0.00,54.00,120.00,198.00,288.00,390.00,504.00,630.00};
/****************************************************/
+__attribute__ ((noinline))
void icheck_results (int *a, int *results)
{
int i;
}
}
+__attribute__ ((noinline))
void fcheck_results (float *a, float *results)
{
int i;
}
}
-void
+__attribute__ ((noinline)) void
fbar_mul (float *a)
{
fcheck_results (a, fmul_results);
}
-void
+__attribute__ ((noinline)) void
fbar_add (float *a)
{
fcheck_results (a, fadd_results);
}
-void
+__attribute__ ((noinline)) void
ibar_add (int *a)
{
icheck_results (a, iadd_results);
}
-void
+__attribute__ ((noinline)) void
fbar1 (float *a)
{
fcheck_results (a, fresults1);
}
-void
+__attribute__ ((noinline)) void
fbar2 (float *a)
{
fcheck_results (a, fresults2);
/* All of the loops below are currently vectorizable. */
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i,j;
#define N 32
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 32
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 32
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 32
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 32
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int i;
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
#define N 32
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int i;
int int_arr[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
#define N 32
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int i;
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
#define N 32
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int i;
short sb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,-3,-6,-9,-12,-15,-18,-21,-24,-27,-30,-33,-36,-39,-42,-45};
#define N 32
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int i;
unsigned short usb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,65533,65530,65527,65524,65521,65518,65515,65512,65509,65506,65503,65500,65497,65494,65491};
#define N 16
int result[N] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38};
-int main1 (int X)
+__attribute__ ((noinline)) int main1 (int X)
{
int arr[N];
int k = X;
#define N 16
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int arr1[N];
int k = 0;
#define N 16
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int arr1[N];
int arr2[N];
#define N 16
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
unsigned int arr1[N];
unsigned short arr2[N];
#define N 16
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
float arr[N];
float f = 1.0;
#define N 16
-int main1 (int X)
+__attribute__ ((noinline)) int main1 (int X)
{
int arr1[N+1];
int arr2[N+1];
#define N 16
int result[N] = {8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38};
-int main1 (int X)
+__attribute__ ((noinline)) int main1 (int X)
{
int arr[N];
int k = 3;
#define N 26
-int main1 (short X)
+__attribute__ ((noinline)) int main1 (short X)
{
unsigned char a[N];
unsigned short b[N];
#define N 26
-int main1 (short X)
+__attribute__ ((noinline)) int main1 (short X)
{
signed char a[N];
short b[N];
#define N 26
int a[N];
-int main1 (int X)
+__attribute__ ((noinline)) int main1 (int X)
{
int s = X;
int i;
which will also align the access to 'ia[i+3]', and the loop could be
vectorized on all targets that support unaligned loads. */
-int main1 (int n)
+__attribute__ ((noinline)) int main1 (int n)
{
int i;
This will not align the access 'sa[i+3]' (for which we need to
peel 5 iterations), so the loop can not be vectorized. */
-int main2 (int n)
+__attribute__ ((noinline)) int main2 (int n)
{
int i;
int result[N];
/* Unsigned type promotion (hi->si) */
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
}
/* Signed type promotion (hi->si) */
-int
+__attribute__ ((noinline)) int
foo2(int len) {
int i;
short x[N] __attribute__ ((__aligned__(16)));
-int
+__attribute__ ((noinline)) int
foo (int len, int *z) {
int i;
#define N 32
-int main1 ()
+__attribute__ ((noinline)) int main1 ()
{
int i;
int ia[N];
char cb[N] __attribute__ ((__aligned__(16))) =
{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
+__attribute__ ((noinline))
int main1 (int n, int * __restrict__ pib,
short * __restrict__ psb,
char * __restrict__ pcb)
which will also align the access to 'ia[i+3]', and the loop could be
vectorized on all targets that support unaligned loads. */
+__attribute__ ((noinline))
int main1 (int n)
{
int i;
need to peel 5,1 iterations for VF=4,2 respectively, so the loop can not
be vectorized. */
+__attribute__ ((noinline))
int main2 (int n)
{
int i;
#define N 32
+__attribute__ ((noinline))
int main1 ()
{
int i;
unsigned char cb[N] __attribute__ ((__aligned__(16))) =
{0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
+__attribute__ ((noinline))
int main1 (int n,
unsigned int * __restrict__ pic, unsigned int * __restrict__ pib,
unsigned short * __restrict__ psc, unsigned short * __restrict__ psb,
signed short Y[N] __attribute__ ((__aligned__(16)));
unsigned char CX[N] __attribute__ ((__aligned__(16)));
-void
+__attribute__ ((noinline)) void
foo1(int len) {
int i;
int result1 = 0;
/* Unsigned type demotion (si->hi) */
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
short result[N];
/* Unsigned type promotion (qi->hi) */
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
}
/* Signed type promotion (qi->hi) */
-int
+__attribute__ ((noinline)) int
foo2(int len) {
int i;
/* Outer-loop vectorization. */
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
#define N 40
float image[N][N][N] __attribute__ ((__aligned__(16)));
-void
+__attribute__ ((noinline)) void
foo (){
int i,j,k;
#define N 40
float image[2*N][N][N] __attribute__ ((__aligned__(16)));
-void
+__attribute__ ((noinline)) void
foo (){
int i,j,k;
#define N 40
float image[2*N][2*N][N] __attribute__ ((__aligned__(16)));
-void
+__attribute__ ((noinline)) void
foo (){
int i,j,k;
#define N 40
float image[N][N][N+1] __attribute__ ((__aligned__(16)));
-void
+__attribute__ ((noinline)) void
foo (){
int i,j,k;
/* Outer-loop vectoriation. */
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
float diff;
/* Outer-loop vectorization with misaliged accesses in the inner-loop. */
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
float diff;
/* Outer-loop vectorization with non-consecutive access. Not vectorized yet. */
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
float diff;
/* Outer-loop vectorization. */
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
float diff;
/* Outer-loop vectorization. */
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
float diff;
/* Outer-loop vectorization. */
-void
+__attribute__ ((noinline)) void
foo (){
int i,j;
float diff;
/* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (){
int i,j;
unsigned int diff;
return s;
}
-unsigned int
+__attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in)
{
int j;
/* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (){
int i,j;
unsigned int diff;
return s;
}
-unsigned int
+__attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in)
{
int j;
/* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (){
int i,j;
unsigned int diff;
return s;
}
-unsigned int
+__attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in)
{
int j;
/* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (){
int i,j;
unsigned int diff;
return s;
}
-unsigned int
+__attribute__ ((noinline)) unsigned int
bar (int i, unsigned int diff, unsigned short *in)
{
int j;
/* Outer-loop vectorization. */
/* Not vectorized due to multiple-types in the inner-loop. */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (){
int i,j;
unsigned int diff;
extern void abort(void);
+__attribute__ ((noinline))
int main1 ()
{
float A[N] __attribute__ ((__aligned__(16)));
float D[N] __attribute__ ((__aligned__(16)));
extern void abort(void);
+__attribute__ ((noinline))
int main1 ()
{
float s;
/* Currently not vectorized because the loop-count for the inner-loop
has a maybe_zero component. Will be fixed when we incorporate the
"cond_expr in rhs" patch. */
+__attribute__ ((noinline))
void foo (){
int i,j,k;
float diff;
}
/* Vectorized. Changing misalignment in the inner-loop. */
+__attribute__ ((noinline))
void fir (){
int i,j,k;
float diff;
because the compiler doesn't realize that the inner-loop executes at
least once (cause k<4), and so there's no need to create a guard code
to skip the inner-loop in case it doesn't execute. */
+__attribute__ ((noinline))
void foo (){
int i,j,k;
float diff;
}
/* Vectorized. Changing misalignment in the inner-loop. */
+__attribute__ ((noinline))
void fir (){
int i,j,k;
float diff;
/* Test vectorization of reduction of unsigned-int. */
+__attribute__ ((noinline))
void main1 (unsigned int x, unsigned int max_result, unsigned int min_result)
{
int i;
#define N 16
#define DIFF 242
-void
+__attribute__ ((noinline)) void
main1 (unsigned char x, unsigned char max_result, unsigned char min_result)
{
int i;
#define N 16
#define DIFF 242
-void
+__attribute__ ((noinline)) void
main1 (unsigned short x, unsigned short max_result, unsigned short min_result)
{
int i;
/* Test vectorization of reduction of signed-int. */
+__attribute__ ((noinline))
void main1 (int x, int max_result, int min_result)
{
int i;
#define N 16
#define DIFF 121
+__attribute__ ((noinline))
void main1 (signed char x, signed char max_result, signed char min_result)
{
int i;
#define N 16
#define DIFF 242
+__attribute__ ((noinline))
void main1 (short x, short max_result, short min_result)
{
int i;
/* Test vectorization of reduction of unsigned-int in the presence
of unknown-loop-bound. */
+__attribute__ ((noinline))
int main1 (int n, int res)
{
int i;
#define N 16
#define DIFF 242
+__attribute__ ((noinline))
int main1 (float x, float max_result)
{
int i;
extern void abort (void);
typedef unsigned char T;
-void
+__attribute__ ((noinline)) void
testmax (const T *c, T init, T result)
{
T lc[N], accum = init;
abort ();
}
-void
+__attribute__ ((noinline)) void
testmin (const T *c, T init, T result)
{
T lc[N], accum = init;
extern void abort (void);
typedef signed char T;
-void
+__attribute__ ((noinline)) void
testmax (const T *c, T init, T result)
{
T lc[N], accum = init;
abort ();
}
-void
+__attribute__ ((noinline)) void
testmin (const T *c, T init, T result)
{
T lc[N], accum = init;
extern void abort (void);
typedef unsigned short T;
-void
+__attribute__ ((noinline)) void
testmax (const T *c, T init, T result)
{
T lc[N], accum = init;
abort ();
}
-void
+__attribute__ ((noinline)) void
testmin (const T *c, T init, T result)
{
T lc[N], accum = init;
Detected as a dot-product pattern.
Vectorized on targets that support dot-product for signed shorts. */
-int
+__attribute__ ((noinline)) int
foo (int len)
{
int i;
/* short->short->int dot product. Should be vectorized on architectures
supporting vectorized multiplication of two short args with short result,
e.g "mulv4hi3" and widenning sum */
-int
+__attribute__ ((noinline)) int
foo (int len)
{
int i;
In the future could also be vectorized as widening-mult + widening-summation,
or with type-conversion support.
*/
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
int result = 0;
Alternatively, the loop could also be vectorized as widening-mult + summation,
or with type-conversion support.
*/
-short
+__attribute__ ((noinline)) short
foo2(int len) {
int i;
short result = 0;
/* char->int->int dot product.
Not detected as a dot-product pattern.
Currently fails to be vectorized due to presence of type conversions. */
-int
+__attribute__ ((noinline)) int
foo3(int len) {
int i;
int result = 0;
/* short->short->int dot product.
Not detected as a dot-product pattern.
Requires support for non-widneing multiplication and widening-summation. */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo1(int len) {
int i;
unsigned int result = 0;
promotes the ushorts to int, and then the product is promoted to unsigned
int for the addition. Which results in an int->unsigned int cast, which
since no bits are modified in the cast should be trivially vectorizable. */
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo2(int len) {
int i;
unsigned int result = 0;
Widening summation can also be supported by type promotion and non-widening
summation (vect_unpack).
*/
-unsigned int
+__attribute__ ((noinline)) unsigned int
foo (int len) {
int i;
unsigned int result = 0;
Alternatively, this test can be vectorized using vect_widen_mult_qi (or
vect_unpack and non-widening multplication: vect_unpack && vect_short_mult).
*/
-unsigned short
+__attribute__ ((noinline)) unsigned short
foo (int len) {
int i;
unsigned short result = 0;
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210
-int
+__attribute__ ((noinline)) int
foo ()
{
int i;
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210
-int
+__attribute__ ((noinline)) int
foo ()
{
int i;
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210
-int
+__attribute__ ((noinline)) int
foo ()
{
int i;
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210
-int
+__attribute__ ((noinline)) int
foo ()
{
int i;
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210
-int
+__attribute__ ((noinline)) int
foo ()
{
int i;
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210
-int
+__attribute__ ((noinline)) int
foo ()
{
int i;
unsigned int b;
} ii;
-int
+__attribute__ ((noinline)) int
main1 ()
{
s arr[N];
unsigned short b;
} s;
-int
+__attribute__ ((noinline)) int
main1 ()
{
s arr[N];
unsigned short d;
} s;
-int
+__attribute__ ((noinline)) int
main1 ()
{
s arr[N];
unsigned short b;
} s;
-int
+__attribute__ ((noinline)) int
main1 ()
{
s arr[N];
unsigned int b;
} ii;
-int
+__attribute__ ((noinline)) int
main1 ()
{
unsigned short arr[N];
unsigned char b;
} s;
-int
+__attribute__ ((noinline)) int
main1 ()
{
s arr[N];
unsigned char h;
} s;
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
unsigned char h;
} s;
-int
+__attribute__ ((noinline)) int
main1 ()
{
int i;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
unsigned int b;
} ii;
-int
+__attribute__ ((noinline)) int
main1 (s *arr, ii *iarr)
{
s *ptr = arr;
unsigned int b;
} ii;
-int
+__attribute__ ((noinline)) int
main1 (s *arr, ii *iarr)
{
s *ptr = arr;
s buffer1[N], buffer2[N];
-int
+__attribute__ ((noinline)) int
main1 (s * __restrict__ pIn, s* __restrict__ pOut)
{
unsigned short i, x, y, d;
unsigned char b;
} s;
-int
+__attribute__ ((noinline)) int
main1 ()
{
s arr[N];
unsigned short b[N];
unsigned short c[N];
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
#define N 16
-int
+__attribute__ ((noinline)) int
main1 (void)
{
int i;
unsigned short b;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
s *ptr = arr;
unsigned short d;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
int d;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
int h;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
unsigned int b;
} ii;
-int
+__attribute__ ((noinline)) int
main1 (unsigned short *arr, ii *iarr)
{
unsigned short *ptr = arr;
unsigned char b;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
s *ptr = arr;
unsigned char b;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
s *ptr = arr;
unsigned char h;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
unsigned char h;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
unsigned char h;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
unsigned char h;
} s;
-int
+__attribute__ ((noinline)) int
main1 (s *arr)
{
int i;
int X[N] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25};
int Y[N] = {};
-void
+__attribute__ ((noinline)) void
foo (int *in, int *out)
{
int i;
int Y[N] = {};
int Z[N] = {};
-void
+__attribute__ ((noinline)) void
foo (int *in, int *out1, int *out2)
{
int i;
23, 23, 24, 24, 25, 25};
struct S Y[N] = {};
-void
+__attribute__ ((noinline)) void
foo (struct S * in, struct S * out)
{
int i;
int result[] = {10, 11, 15, 16, 20, 21, 25, 26, 30, 31, 35, 36, 40, 41, 45, 46, 50, 51};
int X[] = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0};
-void
+__attribute__ ((noinline)) void
foo (int *in, int *out)
{
int i;
int result[N];
/* short->int widening-mult */
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
short result[N];
/* char->short widening-mult */
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
#define SUM 0
/* Require widening-mult or data-unpacking (for the type promotion). */
-int
+__attribute__ ((noinline)) int
main1 (short *in, int off, short scale, int n)
{
int i;
unsigned int result[N];
/* short->int widening-mult */
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
unsigned short result[N];
/* char->short widening-mult */
-int
+__attribute__ ((noinline)) int
foo1(int len) {
int i;
#define N 16
#define DIFF 121
+__attribute__ ((noinline))
void main1 (signed char x, signed char max_result, signed char min_result)
{
int i;
#define N 16
#define DIFF 242
+__attribute__ ((noinline))
void main1 (short x, short max_result, short min_result)
{
int i;
Can also be vectorized as widening-mult + summation,
or with type-conversion support.
*/
-short
+__attribute__ ((noinline)) short
foo(int len) {
int i;
short result = 0;
{ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 };
#define SUM 210
-int
+__attribute__ ((noinline)) int
foo ()
{
int i;