Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-14 Thread Maxim Blumental
 The patch replaces all FP comparisons with inequalities and epsilons
in those tests for libgomp.

2015-07-14 20:37 GMT+03:00 Maxim Blumental :
> Sorry, a little misunderstanding between me and Ilya ) I'll send the
> new patch now.
>
> 2015-07-14 20:29 GMT+03:00 Jakub Jelinek :
>> On Tue, Jul 14, 2015 at 08:26:49PM +0300, Maxim Blumental wrote:
>>> I replaced all FP comparisons in my tests with inequalities and
>>> epsilons. Ilya commited the patch.
>>
>> Even in latest trunk I see
>>   if (pri != 8237.25)
>> and
>>   if (pri .ne. 8237.25) call abort ()
>>
>>     Jakub
>
>
>
> --
>
>
> ---------
> Sincerely yours,
> Maxim Blumental



-- 


-
Sincerely yours,
Maxim Blumental
2015-07-14  Maxim Blumenthal  

* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
and ref from int to double.  Replaced their comparison with
an inequality of their difference and EPS.
* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
comparison of pri and a reference number with an inequality of their
difference and EPS.
* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
the comparison of sum and sum_ref with an inequality of their
difference and EPS.
* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
the comparison of pri and a reference number with an inequality of
their difference and EPS.

fp_compar.patch
Description: Binary data


Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-22 Thread Maxim Blumental
Changed simd-7 test for C and Fortran to lower the execution time to
~0.6 and ~1 second respectively while keeping the test representative.
Measured the time like:

$ time make check-target-libgomp RUNTESTFLAGS="c.exp"=simd-7.c

on a Linux x86-64 machine. (Without the patch I also had a very long
time: ~7.5 and ~60 seconds)

2015-07-20 22:40 GMT+03:00 H.J. Lu :
> On Tue, Jul 14, 2015 at 11:04 AM, Jakub Jelinek  wrote:
>> On Tue, Jul 14, 2015 at 08:40:50PM +0300, Maxim Blumental wrote:
>>>  The patch replaces all FP comparisons with inequalities and epsilons
>>> in those tests for libgomp.
>>
>
> libgomp.fortran/examples-4/simd-7.f90 takes a very long time to
> run on Linux/ia32.  I get random:
>
> FAIL: libgomp.fortran/examples-4/simd-7.f90   -O0  execution test
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66950
>
>
> --
> H.J.



-- 


-
Sincerely yours,
Maxim Blumental
2015-07-22  Maxim Blumenthal  

PR libgomp/66950
* testsuite/libgomp.c/examples-4/simd-7.c: Lower the defined constant
N to 30.  Add iterative reference function for Fibonacci numbers
- fib_ref.
(fib): Correct corner cases in the recursion.
(main): Replace the non-simd loop with fib_ref call.
* testsuite/libgomp.fortran/examples-4/simd-7.f90: Add iterative
reference subroutine for Fibonacci numbers - fib_ref.
(fibonacci): Lower the parameter N to 30.  Correct accordingly check for
the last array element value.  Replace the non-simd loop with fib_ref
call.  Remove redundant b_ref array.  Remove the comparison of the last
array element with according Fibbonacci sequence element.
(fib): Correct corner cases in the recursion.


fib_fix.patch
Description: Binary data


Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-22 Thread Maxim Blumental
 Corrected log and patch.

2015-07-22 17:12 GMT+03:00 Jakub Jelinek :
> On Wed, Jul 22, 2015 at 04:55:09PM +0300, Maxim Blumental wrote:
>> 2015-07-22  Maxim Blumenthal  
>>
>>   PR libgomp/66950
>>   * testsuite/libgomp.c/examples-4/simd-7.c: Lower the defined constant
>>   N to 30.  Add iterative reference function for Fibonacci numbers
>>   - fib_ref.
>
> Incorrect changelog.  It should be:
> * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
> (fib_ref): New function.
>
>>   (fib): Correct corner cases in the recursion.
>
> Why the n == 2 special case?  I think only the if (n <= 1) return n;
> case is really needed.
>
>>   (main): Replace the non-simd loop with fib_ref call.
>>   * testsuite/libgomp.fortran/examples-4/simd-7.f90: Add iterative
>>   reference subroutine for Fibonacci numbers - fib_ref.
>
> See above for ChangeLog entry issue.
>
>>   (fibonacci): Lower the parameter N to 30.  Correct accordingly check 
>> for
>>   the last array element value.  Replace the non-simd loop with fib_ref
>>   call.  Remove redundant b_ref array.  Remove the comparison of the last
>>   array element with according Fibbonacci sequence element.
>>   (fib): Correct corner cases in the recursion.
>
> See above for n == 2 special case.
>
> Jakub



-- 


-
Sincerely yours,
Maxim Blumental
2015-07-22  Maxim Blumenthal  

PR libgomp/66950
* testsuite/libgomp.c/examples-4/simd-7.c(N): Change to 30 from 45.
(fib_ref): New function.
(fib): Correct corner cases in the recursion.
(main): Replace the non-simd loop with fib_ref call.
* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
subroutine.
(fibonacci): Lower the parameter N to 30.  Correct accordingly check
for the last array element value.  Replace the non-simd loop with
fib_ref call.  Remove redundant b_ref array.  Remove the comparison
of the last array element with according Fibbonacci sequence element.
(fib): Correct corner cases in the recursion.


fib_fix.patch
Description: Binary data


Re: [PATCH 3/4] Add libgomp plugin for Intel MIC

2015-07-28 Thread Maxim Blumental
 Applied the idea with python script alternative. Review, please.

2015-07-24 17:18 GMT+03:00 David Malcolm :
> On Fri, 2015-07-24 at 10:01 +0200, Jakub Jelinek wrote:
>> #!/usr/bin/python
>> import sys
>> with open(sys.argv[1],"rb") as f:
>> nextblock = f.read(12)
>> while 1:
>> block = nextblock
>> nextblock = f.read(12)
>> if block == "":
>> break
>> str = ""
>> for ch in block:
>> if str == "":
>> str = "  "
>> else:
>> str += ", "
>> if ord(ch) < 10:
>> str += "0x0" + chr(ord('0')+ord(ch))
>> elif ord(ch) < 16:
>> str += "0x0" + chr(ord('a')+ord(ch)-10)
>> else:
>> str += hex(ord(ch))
>> if nextblock != "":
>> str += ","
>> print str
>>
>> python ./xxd.py $< >> $@
>> does the same thing as
>> cat $< | xxd -include >> $@
>> (CCing David as python expert, my python knowledge is limited and
>> 15 years old, not sure how portable this is (python 2 vs. python 3,
>> and
>> even python 2 minimal versions)).
>
> It doesn't work with Python 3 for various reasons ("print" syntax, and
> str vs bytes issues).
>
> I'm attaching a version which works with both Python 2 and Python 3
> (2.7.5 and 3.3.2 were the versions I tried).
>
> It ought to work with much older python 2 versions (as your script
> appears to), but I don't have them handy.
>
> Presumably it would need a license header and some descriptive comments.
>
> (snip)
>
> Dave



-- 


-
Sincerely yours,
Maxim Blumental
2015-07-28  Maxim Blumenthal  

* configure.ac: Add a check for xxd or python presence when the target
is intelmic or intelmicemul.
* configure: Regenerate.
* liboffloadmic/plugin/Makefile.am: Add a condition into
make_target_image.h generating code.  This condition performs an
action with either xxd or a special python script during the
generating.
* liboffloadmic/plugin/xxd.py: New file.
* liboffloadmic/plugin/Makefile.in: Regenerate.


xxd_check.patch
Description: Binary data


Re: [PATCH 3/4] Add libgomp plugin for Intel MIC

2015-08-03 Thread Maxim Blumental
Could you probably review the patch, please?

2015-07-28 18:42 GMT+03:00 Maxim Blumental :
>  Applied the idea with python script alternative. Review, please.
>
> 2015-07-24 17:18 GMT+03:00 David Malcolm :
>> On Fri, 2015-07-24 at 10:01 +0200, Jakub Jelinek wrote:
>>> #!/usr/bin/python
>>> import sys
>>> with open(sys.argv[1],"rb") as f:
>>> nextblock = f.read(12)
>>> while 1:
>>> block = nextblock
>>> nextblock = f.read(12)
>>> if block == "":
>>> break
>>> str = ""
>>> for ch in block:
>>> if str == "":
>>> str = "  "
>>> else:
>>> str += ", "
>>> if ord(ch) < 10:
>>> str += "0x0" + chr(ord('0')+ord(ch))
>>> elif ord(ch) < 16:
>>> str += "0x0" + chr(ord('a')+ord(ch)-10)
>>> else:
>>> str += hex(ord(ch))
>>> if nextblock != "":
>>> str += ","
>>> print str
>>>
>>> python ./xxd.py $< >> $@
>>> does the same thing as
>>> cat $< | xxd -include >> $@
>>> (CCing David as python expert, my python knowledge is limited and
>>> 15 years old, not sure how portable this is (python 2 vs. python 3,
>>> and
>>> even python 2 minimal versions)).
>>
>> It doesn't work with Python 3 for various reasons ("print" syntax, and
>> str vs bytes issues).
>>
>> I'm attaching a version which works with both Python 2 and Python 3
>> (2.7.5 and 3.3.2 were the versions I tried).
>>
>> It ought to work with much older python 2 versions (as your script
>> appears to), but I don't have them handy.
>>
>> Presumably it would need a license header and some descriptive comments.
>>
>> (snip)
>>
>> Dave
>
>
>
> --
>
>
> -
> Sincerely yours,
> Maxim Blumental



-- 


-
Sincerely yours,
Maxim Blumental


Fwd: [PATCH 3/4] Add libgomp plugin for Intel MIC

2015-08-06 Thread Maxim Blumental
 Applied the idea with python script alternative. Review, please.
2015-07-28  Maxim Blumenthal  

* configure.ac: Add a check for xxd or python presence when the target
is intelmic or intelmicemul.
* configure: Regenerate.
* liboffloadmic/plugin/Makefile.am: Add a condition into
make_target_image.h generating code.  This condition performs an
action with either xxd or a special python script during the
generating.
* liboffloadmic/plugin/xxd.py: New file.
* liboffloadmic/plugin/Makefile.in: Regenerate.


xxd_check.patch
Description: Binary data


[RFC PATCH] Reducing GCC initialization time by merging builtins

2015-02-24 Thread Maxim Blumental
The attached patch illustrates the following idea: we can replace
several builtins having the same signature with one auxiliary builtin
with a special argument. This argument will specify which particular
builtin the auxiliary one should expand to. We pull the argument out
at the expand stage and based on its value specify which exactly
builtin we want to get: we add info about ISA restrictions and
according named pattern. And then it is translated as always.

The benefit is that at the initialization time we process as many
builtins as many different signatures there are. If we take three
static arrays in gcc/config/i386/i386.c with builtin descriptions
(namely, bdesc_args, bdesc_special_args, bdesc_round_args) and apply
the idea, we can turn 2163 builtin to only 677 (3.2 times less or
minus 1486).
commit bd37499025b09c9bb0337077040068fcd750c1e5
Author: Maxim Blumenthal 
Date:   Mon Feb 16 16:14:06 2015 +0300

Here we combine several builtins having the same
signature by introducing one auxiliary builtin with
a special argument which will specify what particular
builtin the auxiliary one should expand to. We pull
the argument out at the expand stage and based on its
value specify information about the builtin we want
to get, i.e. ISA mask, named pattern, etc.

diff --git a/gcc/config/i386/avx512cdintrin.h b/gcc/config/i386/avx512cdintrin.h
index 4da5250..a4e8edf 100644
--- a/gcc/config/i386/avx512cdintrin.h
+++ b/gcc/config/i386/avx512cdintrin.h
@@ -34,6 +34,9 @@
 #define __DISABLE_AVX512CD__
 #endif /* __AVX512CD__ */
 
+/*Opcode argument to __builtin_ia32_v8di_ftype_qi*/
+#define BROADCASTMB512 0
+
 /* Internal data types for implementing the intrinsics.  */
 typedef long long __v8di __attribute__ ((__vector_size__ (64)));
 typedef int __v16si __attribute__ ((__vector_size__ (64)));
@@ -166,7 +169,7 @@ extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_broadcastmb_epi64 (__mmask8 __A)
 {
-  return (__m512i) __builtin_ia32_broadcastmb512 (__A);
+  return (__m512i) __builtin_ia32_v8di_ftype_qi (__A, BROADCASTMB512);
 }
 
 extern __inline __m512i
diff --git a/gcc/config/i386/avx512dqintrin.h b/gcc/config/i386/avx512dqintrin.h
index b36ef48..053a391 100644
--- a/gcc/config/i386/avx512dqintrin.h
+++ b/gcc/config/i386/avx512dqintrin.h
@@ -34,6 +34,9 @@
 #define __DISABLE_AVX512DQ__
 #endif /* __AVX512DQ__ */
 
+/*Opcode argument to __builtin_ia32_v8di_ftype_qi*/
+#define CVTMASK2Q512 1
+
 extern __inline __m512d
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_broadcast_f64x2 (__m128d __A)
@@ -534,7 +537,7 @@ extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_movm_epi64 (__mmask8 __A)
 {
-  return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
+  return (__m512i) __builtin_ia32_v8di_ftype_qi (__A, CVTMASK2Q512);
 }
 
 extern __inline __m512i
diff --git a/gcc/config/i386/i386-builtin-types.def 
b/gcc/config/i386/i386-builtin-types.def
index 864d0ea..d59a88e 100644
--- a/gcc/config/i386/i386-builtin-types.def
+++ b/gcc/config/i386/i386-builtin-types.def
@@ -686,6 +686,7 @@ DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT, QI)
 DEF_FUNCTION_TYPE (QI, V4SF, V4SF, INT, QI, INT)
 DEF_FUNCTION_TYPE (V16SI, HI)
 DEF_FUNCTION_TYPE (V8DI, QI)
+DEF_FUNCTION_TYPE (V8DI, QI, INT)
 
 DEF_FUNCTION_TYPE (INT, V16QI, V16QI, INT)
 DEF_FUNCTION_TYPE (UCHAR, UINT, UINT, UINT)
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 71a5b22..9d38151 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -30497,9 +30497,17 @@ enum ix86_builtins
   IX86_BUILTIN_READ_FLAGS,
   IX86_BUILTIN_WRITE_FLAGS,
 
+  IX86_BUILTIN_V8DI_FTYPE_QI,
   IX86_BUILTIN_MAX
 };
 
+enum V8DI_FTYPE_QI_type
+{
+  BROADCASTMB512,
+  CVTMASK2Q512,
+  V8DI_FTYPE_QI_type_MAX
+};
+
 /* Table for the ix86 builtin decls.  */
 static GTY(()) tree ix86_builtins[(int) IX86_BUILTIN_MAX];
 
@@ -31878,7 +31886,7 @@ static const struct builtin_description bdesc_args[] =
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_andv8di3_mask, 
"__builtin_ia32_pandq512_mask", IX86_BUILTIN_PANDQ512, UNKNOWN, (int) 
V8DI_FTYPE_V8DI_V8DI_V8DI_QI },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_vec_dupv16si_mask, 
"__builtin_ia32_pbroadcastd512", IX86_BUILTIN_PBROADCASTD512, UNKNOWN, (int) 
V16SI_FTYPE_V4SI_V16SI_HI },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_vec_dup_gprv16si_mask, 
"__builtin_ia32_pbroadcastd512_gpr_mask", IX86_BUILTIN_PBROADCASTD512_GPR, 
UNKNOWN, (int) V16SI_FTYPE_SI_V16SI_HI },
-  { OPTION_MASK_ISA_AVX512CD, CODE_FOR_avx512cd_maskb_vec_dupv8di, 
"__builtin_ia32_broadcastmb512", IX86_BUILTIN_PBROADCASTMB512, UNKNOWN, (int) 
V8DI_FTYPE_QI },
+  { 0, CODE_FOR_nothing, "__builtin_ia32_v8di_ftype_qi", 
IX86_BUILTIN_V8DI_FTYPE_QI, UNKNOWN, (int) V8DI_FTYPE_QI_INT },
   { OPTION_MASK_ISA_AVX512CD, CODE_FOR_avx512cd_maskw_vec_dupv16si, 
"__builtin_ia32_broadcastmw512", IX86_BUILTIN_PBROADCASTMW512, UNKNOWN, (i

Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-07 Thread Maxim Blumental
With this letter I propose a patch with tests for libgomp based on
OpenMP Examples 4.0.2 both for C and Fortran.

The changes are:

 Renamed existing tests based on OpenMP Examples to make the names more clear.
Added 16 tests for simd construct and 10 for depend clause.

-
Sincerely yours,
Maxim Blumental
2015-07-06 Maxim  Blumenthal  

* libgomp/testsuite/libgomp.c/examples-4/e.56.3.c: renamed to 
array_sections-3.c
* libgomp/testsuite/libgomp.c/examples-4/e.56.4.c: renamed to 
array_sections-4.c
* libgomp/testsuite/libgomp.c/examples-4/e.55.1.c: renamed to 
async_target-1.c
* libgomp/testsuite/libgomp.c/examples-4/e.55.2.c: renamed to 
async_target-2.c
* libgomp/testsuite/libgomp.c/examples-4/e.53.1.c: renamed to 
declare_target-1.c
* libgomp/testsuite/libgomp.c/examples-4/e.53.3.c: renamed to 
declare_target-3.c
* libgomp/testsuite/libgomp.c/examples-4/e.53.4.c: renamed to 
declare_target-4.c
* libgomp/testsuite/libgomp.c/examples-4/e.53.5.c: renamed to 
declare_target-5.c
* libgomp/testsuite/libgomp.c/examples-4/e.57.1.c: renamed to device-1.c
* libgomp/testsuite/libgomp.c/examples-4/e.57.2.c: renamed to device-2.c
* libgomp/testsuite/libgomp.c/examples-4/e.57.3.c: renamed to device-3.c
* libgomp/testsuite/libgomp.c/examples-4/simd-1.c: A test for simd 
construct.
* libgomp/testsuite/libgomp.c/examples-4/simd-2.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/simd-3.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/simd-4.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/simd-5.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/simd-6.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/simd-7.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/simd-8.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/e.50.1.c: renamed to target-1.c
* libgomp/testsuite/libgomp.c/examples-4/e.50.2.c: renamed to target-2.c
* libgomp/testsuite/libgomp.c/examples-4/e.50.3.c: renamed to target-3.c
* libgomp/testsuite/libgomp.c/examples-4/e.50.4.c: renamed to target-4.c
* libgomp/testsuite/libgomp.c/examples-4/e.50.5.c: renamed to target-5.c
* libgomp/testsuite/libgomp.c/examples-4/e.51.1.c: renamed to 
target_data-1.c
* libgomp/testsuite/libgomp.c/examples-4/e.51.2.c: renamed to 
target_data-2.c
* libgomp/testsuite/libgomp.c/examples-4/e.51.3.c: renamed to 
target_data-3.c
* libgomp/testsuite/libgomp.c/examples-4/e.51.4.c: renamed to 
target_data-4.c
* libgomp/testsuite/libgomp.c/examples-4/e.51.6.c: renamed to 
target_data-6.c
* libgomp/testsuite/libgomp.c/examples-4/e.51.7.c: renamed to 
target_data-7.c
* libgomp/testsuite/libgomp.c/examples-4/e.52.1.c: renamed to 
target_update-1.c
* libgomp/testsuite/libgomp.c/examples-4/e.52.2.c: renamed to 
target_update-2.c
* libgomp/testsuite/libgomp.c/examples-4/task_dep-1.c: A test for task 
dependencies.
* libgomp/testsuite/libgomp.c/examples-4/task_dep-2.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/task_dep-3.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/task_dep-4.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/task_dep-5.c: Same.
* libgomp/testsuite/libgomp.c/examples-4/e.54.2.c: renamed to teams-2.c
* libgomp/testsuite/libgomp.c/examples-4/e.54.3.c: renamed to teams-3.c
* libgomp/testsuite/libgomp.c/examples-4/e.54.4.c: renamed to teams-4.c
* libgomp/testsuite/libgomp.c/examples-4/e.54.5.c: renamed to teams-5.c
* libgomp/testsuite/libgomp.c/examples-4/e.54.6.c: renamed to teams-6.c
* libgomp/testsuite/libgomp.fortran/examples-4/e.56.3.f90: renamed to 
array_sections-3.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.56.4.f90: renamed to 
array_sections-4.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.55.1.f90: renamed to 
async_target-1.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.55.2.f90: renamed to 
async_target-2.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.53.1.f90: renamed to 
declare_target-1.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.53.2.f90: renamed to 
declare_target-2.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.53.3.f90: renamed to 
declare_target-3.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.53.4.f90: renamed to 
declare_target-4.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.53.5.f90: renamed to 
declare_target-5.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.57.1.f90: renamed to 
device-1.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.57.2.f90: renamed to 
device-2.f90
* libgomp/testsuite/libgomp.fortran/examples-4/e.57.3.f90: renamed to 
device-3.f90
* libgomp/testsuite/libgomp.fortran/examples-4/simd-1.f90: A test for simd 
construct.
* libgomp/testsuite/libgomp.fortran/examples-4/simd-2.f90: Same.
* libgomp/testsuite/libgomp.fortran/examples-4/simd-3.f90: Same.
* libgomp/testsuite/libgomp.fortran/examples-4/simd-4.f90: Same

Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-07 Thread Maxim Blumental
Comment on the patch:

simd-5.f90 file is marked as xfail since the test fails because 'simd
collapse' is an unsupported combination for Fortran (which though is
valid in OpenMP API).

2015-07-07 19:48 GMT+03:00 Maxim Blumental :
> With this letter I propose a patch with tests for libgomp based on
> OpenMP Examples 4.0.2 both for C and Fortran.
>
> The changes are:
>
>  Renamed existing tests based on OpenMP Examples to make the names more clear.
> Added 16 tests for simd construct and 10 for depend clause.
>
> -----
> Sincerely yours,
> Maxim Blumental



-- 


-----
Sincerely yours,
Maxim Blumental


Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-08 Thread Maxim Blumental
Updated the attached files:  renamed also libgomp.c++ tests, corrected
ChangeLog.

2015-07-07 21:29 GMT+03:00 Ilya Verbin :
> On Tue, Jul 07, 2015 at 20:17:48 +0200, Jakub Jelinek wrote:
>> On Tue, Jul 07, 2015 at 08:08:16PM +0300, Maxim Blumental wrote:
>> > > Added 16 tests for simd construct and 10 for depend clause.
>>
>> Any new tests that aren't in Examples 4.0.* document should go one level
>> higher, to libgomp.{c,c++,fortran}/ directly.
>
> Actually, the examples 4.0.2 document contains simd-* and task_dep-* tests, 
> they
> are new in terms of examples-4 directory.
>
>   -- Ilya



-- 


-
Sincerely yours,
Maxim Blumental
2015-07-06 Maxim  Blumenthal  

* testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
* testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
* testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
* testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
* testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/device-3.c: ...this.
* testsuite/libgomp.c/examples-4/simd-1.c: A test for simd construct.
* testsuite/libgomp.c/examples-4/simd-2.c: Same.
* testsuite/libgomp.c/examples-4/simd-3.c: Same.
* testsuite/libgomp.c/examples-4/simd-4.c: Same.
* testsuite/libgomp.c/examples-4/simd-5.c: Same.
* testsuite/libgomp.c/examples-4/simd-6.c: Same.
* testsuite/libgomp.c/examples-4/simd-7.c: Same.
* testsuite/libgomp.c/examples-4/simd-8.c: Same.
* testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
* testsuite/libgomp.c/examples-4/target-5.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
* testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
* testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
* testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
* testsuite/libgomp.c/examples-4/task_dep-1.c: A test for task 
dependencies.
* testsuite/libgomp.c/examples-4/task_dep-2.c: Same.
* testsuite/libgomp.c/examples-4/task_dep-3.c: Same.
* testsuite/libgomp.c/examples-4/task_dep-4.c: Same.
* testsuite/libgomp.c/examples-4/task_dep-5.c: Same.
* testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-2.c: ...this.
* testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
* testsuite/libgomp.c/examples-4/teams-3.c: ...this.
* testsuite/libgomp.

Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-08 Thread Maxim Blumental
>The Examples-4/
>directory is supposed to only contain the tests from the 4.0.* examples
>document and no other tests.
All right: everything I added in it was only tests from the examples
document. Renamings were made in accordance with filenames from
GitHub.
> Any new tests that aren't in Examples 4.0.* document should go one level
> higher, to libgomp.{c,c++,fortran}/ directly.
There are no any such tests.

2015-07-08 15:50 GMT+03:00 Maxim Blumental :
> Updated the attached files:  renamed also libgomp.c++ tests, corrected
> ChangeLog.
>
> 2015-07-07 21:29 GMT+03:00 Ilya Verbin :
>> On Tue, Jul 07, 2015 at 20:17:48 +0200, Jakub Jelinek wrote:
>>> On Tue, Jul 07, 2015 at 08:08:16PM +0300, Maxim Blumental wrote:
>>> > > Added 16 tests for simd construct and 10 for depend clause.
>>>
>>> Any new tests that aren't in Examples 4.0.* document should go one level
>>> higher, to libgomp.{c,c++,fortran}/ directly.
>>
>> Actually, the examples 4.0.2 document contains simd-* and task_dep-* tests, 
>> they
>> are new in terms of examples-4 directory.
>>
>>   -- Ilya
>
>
>
> --
>
>
> -
> Sincerely yours,
> Maxim Blumental



-- 


-
Sincerely yours,
Maxim Blumental


Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-09 Thread Maxim Blumental
 > I'll have a look, that is supposed to work.
I checked the case with 'simd collapse' and found out that the problem
was in a typo in the directive in OpenMP Examples whose code I used.
There was a redundant 'for' word in it which the parser detected and
considered to be an unclassifiable OpenMP directive. Sorry about the
false alarm.

2015-07-08 16:00 GMT+03:00 Maxim Blumental :
>>The Examples-4/
>>directory is supposed to only contain the tests from the 4.0.* examples
>>document and no other tests.
> All right: everything I added in it was only tests from the examples
> document. Renamings were made in accordance with filenames from
> GitHub.
>> Any new tests that aren't in Examples 4.0.* document should go one level
>> higher, to libgomp.{c,c++,fortran}/ directly.
> There are no any such tests.
>
> 2015-07-08 15:50 GMT+03:00 Maxim Blumental :
>> Updated the attached files:  renamed also libgomp.c++ tests, corrected
>> ChangeLog.
>>
>> 2015-07-07 21:29 GMT+03:00 Ilya Verbin :
>>> On Tue, Jul 07, 2015 at 20:17:48 +0200, Jakub Jelinek wrote:
>>>> On Tue, Jul 07, 2015 at 08:08:16PM +0300, Maxim Blumental wrote:
>>>> > > Added 16 tests for simd construct and 10 for depend clause.
>>>>
>>>> Any new tests that aren't in Examples 4.0.* document should go one level
>>>> higher, to libgomp.{c,c++,fortran}/ directly.
>>>
>>> Actually, the examples 4.0.2 document contains simd-* and task_dep-* tests, 
>>> they
>>> are new in terms of examples-4 directory.
>>>
>>>   -- Ilya
>>
>>
>>
>> --
>>
>>
>> -
>> Sincerely yours,
>> Maxim Blumental
>
>
>
> --
>
>
> -
> Sincerely yours,
> Maxim Blumental



-- 


-
Sincerely yours,
Maxim Blumental


Re: Tests for libgomp based on OpenMP Examples 4.0.2.

2015-07-09 Thread Maxim Blumental
 Now the patch is corrected (according to the previous letter) and
ready to be reviewed. I'm looking forward to your feedback.

2015-07-09 15:56 GMT+03:00 Maxim Blumental :
>  > I'll have a look, that is supposed to work.
> I checked the case with 'simd collapse' and found out that the problem
> was in a typo in the directive in OpenMP Examples whose code I used.
> There was a redundant 'for' word in it which the parser detected and
> considered to be an unclassifiable OpenMP directive. Sorry about the
> false alarm.
>
> 2015-07-08 16:00 GMT+03:00 Maxim Blumental :
>>>The Examples-4/
>>>directory is supposed to only contain the tests from the 4.0.* examples
>>>document and no other tests.
>> All right: everything I added in it was only tests from the examples
>> document. Renamings were made in accordance with filenames from
>> GitHub.
>>> Any new tests that aren't in Examples 4.0.* document should go one level
>>> higher, to libgomp.{c,c++,fortran}/ directly.
>> There are no any such tests.
>>
>> 2015-07-08 15:50 GMT+03:00 Maxim Blumental :
>>> Updated the attached files:  renamed also libgomp.c++ tests, corrected
>>> ChangeLog.
>>>
>>> 2015-07-07 21:29 GMT+03:00 Ilya Verbin :
>>>> On Tue, Jul 07, 2015 at 20:17:48 +0200, Jakub Jelinek wrote:
>>>>> On Tue, Jul 07, 2015 at 08:08:16PM +0300, Maxim Blumental wrote:
>>>>> > > Added 16 tests for simd construct and 10 for depend clause.
>>>>>
>>>>> Any new tests that aren't in Examples 4.0.* document should go one level
>>>>> higher, to libgomp.{c,c++,fortran}/ directly.
>>>>
>>>> Actually, the examples 4.0.2 document contains simd-* and task_dep-* 
>>>> tests, they
>>>> are new in terms of examples-4 directory.
>>>>
>>>>   -- Ilya
>>>
>>>
>>>
>>> --
>>>
>>>
>>> -
>>> Sincerely yours,
>>> Maxim Blumental
>>
>>
>>
>> --
>>
>>
>> -
>> Sincerely yours,
>> Maxim Blumental
>
>
>
> --
>
>
> -
> Sincerely yours,
> Maxim Blumental



-- 


-
Sincerely yours,
Maxim Blumental


libgomp-tests.patch
Description: Binary data


Re: [PATCH 3/4] Add libgomp plugin for Intel MIC

2015-08-11 Thread Maxim Blumental
Review the patches in the previous letter, please.

2015-08-06 17:34 GMT+03:00 Maxim Blumental :
>  Applied the idea with python script alternative. Review, please.



-- 


-
Sincerely yours,
Maxim Blumental