Skip to content
Snippets Groups Projects
  • Thomas Koenig's avatar
    5d98fe09
    Implement MATMUL and DOT_PRODUCT for unsigned. · 5d98fe09
    Thomas Koenig authored
    gcc/fortran/ChangeLog:
    
    	* arith.cc (gfc_arith_uminus): Fix warning.
    	(gfc_arith_minus): Correctly truncate unsigneds.
    	* check.cc (gfc_check_dot_product): Handle unsigned arguments.
    	(gfc_check_matmul): Likewise.
    	* expr.cc (gfc_get_unsigned_expr): New function.
    	* gfortran.h (gfc_get_unsigned_expr): Add prototype.
    	* iresolve.cc (gfc_resolve_matmul): If using UNSIGNED, use the
    	signed integer version.
    	* gfortran.texi: Document MATMUL and DOT_PRODUCT for unsigned.
    	* simplify.cc (compute_dot_product): Handle unsigneds.
    
    libgfortran/ChangeLog:
    
    	* m4/iparm.m4: Add UNSIGED if type is m.
    	* m4/matmul.m4: If type is GFC_INTEGER, use GFC_UINTEGER instead.
    	Whitespace fixes.
    	* m4/matmul_internal.m4: Whitespace fixes.
    
    	* generated/matmul_c10.c: Regenerated.
    	* generated/matmul_c16.c: Regenerated.
    	* generated/matmul_c17.c: Regenerated.
    	* generated/matmul_c4.c: Regenerated.
    	* generated/matmul_c8.c: Regeneraated.
    	* generated/matmul_i1.c: Regenerated.
    	* generated/matmul_i16.c: Regenerated.
    	* generated/matmul_i2.c: Regenerated.
    	* generated/matmul_i4.c: Regenerated.
    	* generated/matmul_i8.c: Regenerated.
    	* generated/matmul_r10.c: Regenerated.
    	* generated/matmul_r16.c: Regenerated.
    	* generated/matmul_r17.c: Regenerated.
    	* generated/matmul_r4.c: Regenerated.
    	* generated/matmul_r8.c: Regenerated.
    	* libgfortran.h: Add array types for unsiged.
    
    gcc/testsuite/ChangeLog:
    
    	* gfortran.dg/unsigned_25.f90: New test.
    	* gfortran.dg/unsigned_26.f90: New test.
    5d98fe09
    History
    Implement MATMUL and DOT_PRODUCT for unsigned.
    Thomas Koenig authored
    gcc/fortran/ChangeLog:
    
    	* arith.cc (gfc_arith_uminus): Fix warning.
    	(gfc_arith_minus): Correctly truncate unsigneds.
    	* check.cc (gfc_check_dot_product): Handle unsigned arguments.
    	(gfc_check_matmul): Likewise.
    	* expr.cc (gfc_get_unsigned_expr): New function.
    	* gfortran.h (gfc_get_unsigned_expr): Add prototype.
    	* iresolve.cc (gfc_resolve_matmul): If using UNSIGNED, use the
    	signed integer version.
    	* gfortran.texi: Document MATMUL and DOT_PRODUCT for unsigned.
    	* simplify.cc (compute_dot_product): Handle unsigneds.
    
    libgfortran/ChangeLog:
    
    	* m4/iparm.m4: Add UNSIGED if type is m.
    	* m4/matmul.m4: If type is GFC_INTEGER, use GFC_UINTEGER instead.
    	Whitespace fixes.
    	* m4/matmul_internal.m4: Whitespace fixes.
    
    	* generated/matmul_c10.c: Regenerated.
    	* generated/matmul_c16.c: Regenerated.
    	* generated/matmul_c17.c: Regenerated.
    	* generated/matmul_c4.c: Regenerated.
    	* generated/matmul_c8.c: Regeneraated.
    	* generated/matmul_i1.c: Regenerated.
    	* generated/matmul_i16.c: Regenerated.
    	* generated/matmul_i2.c: Regenerated.
    	* generated/matmul_i4.c: Regenerated.
    	* generated/matmul_i8.c: Regenerated.
    	* generated/matmul_r10.c: Regenerated.
    	* generated/matmul_r16.c: Regenerated.
    	* generated/matmul_r17.c: Regenerated.
    	* generated/matmul_r4.c: Regenerated.
    	* generated/matmul_r8.c: Regenerated.
    	* libgfortran.h: Add array types for unsiged.
    
    gcc/testsuite/ChangeLog:
    
    	* gfortran.dg/unsigned_25.f90: New test.
    	* gfortran.dg/unsigned_26.f90: New test.