mesa/src/intel/compiler
Francisco Jerez e2f475ddff intel/fs: Lower integer multiply correctly when destination stride equals 4.
Because the "low" temporary needs to be accessed with word type and
twice the original stride, attempting to preserve the alignment of the
original destination can potentially lead to instructions with illegal
destination stride greater than four.  Because the CHV/BXT alignment
restrictions are now being enforced by the regioning lowering pass run
after lower_integer_multiplication(), there is no real need to
preserve the original strides anymore.

Note that this bug can be reproduced on stable branches, but
back-porting would be non-trivial, because the fix relies on the
regioning lowering pass recently introduced.

Tested-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
2019-02-21 14:07:25 -08:00
..
.gitignore
brw_cfg.cpp intel/cfg: Represent divergent control flow paths caused by non-uniform loop execution. 2017-12-07 18:27:05 -08:00
brw_cfg.h intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +00:00
brw_clip.h i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_line.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_point.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_tri.c i965: Don't emit MOVs with undefined registers for Gen4 point clipping. 2018-02-28 15:03:51 -08:00
brw_clip_unfilled.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_clip_util.c i965: Move clip program compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_compile_clip.c i965: Rewrite disassembly annotation code 2017-11-17 12:14:38 -08:00
brw_compile_sf.c i965: Move SF compilation to the compiler 2017-05-26 07:58:01 -07:00
brw_compiler.c intel: Use the NIR lowering for isign. 2019-02-14 00:32:30 +00:00
brw_compiler.h iris: handle PatchVerticesIn as a system value. 2019-02-21 10:26:10 -08:00
brw_dead_control_flow.cpp
brw_dead_control_flow.h intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +00:00
brw_disasm.c intel/fs: Implement nir_intrinsic_global_atomic_* 2019-02-01 16:11:00 -06:00
brw_disasm_info.c intel/compiler: Silence unused parameter warnings 2018-08-22 20:31:32 -07:00
brw_disasm_info.h i965: Stop including brw_cfg.h in brw_disasm_info.h 2017-11-17 21:51:16 -08:00
brw_eu.c intel/eu: print bytes instead of 32 bit hex value 2018-08-27 11:07:39 -07:00
brw_eu.h intel/fs: Implement nir_intrinsic_global_atomic_* 2019-02-01 16:11:00 -06:00
brw_eu_compact.c intel/compiler: Add instruction compaction support on Gen11 2018-02-28 11:15:47 -08:00
brw_eu_defines.h intel/fs: Implement nir_intrinsic_global_atomic_* 2019-02-01 16:11:00 -06:00
brw_eu_emit.c intel/eu: Add support for the SENDS[C] messages 2019-01-29 18:43:55 +00:00
brw_eu_util.c intel/compiler: whitespace cleanups 2017-03-13 11:16:35 +00:00
brw_eu_validate.c intel/eu: Add support for the SENDS[C] messages 2019-01-29 18:43:55 +00:00
brw_fs.cpp intel/fs: Lower integer multiply correctly when destination stride equals 4. 2019-02-21 14:07:25 -08:00
brw_fs.h intel/fs: Implement nir_intrinsic_global_atomic_* 2019-02-01 16:11:00 -06:00
brw_fs_bank_conflicts.cpp i965/fs: unspills shoudn't use grf127 as dest since Gen8+ 2018-07-12 18:02:26 +02:00
brw_fs_builder.h intel/fs: Use split sends for surface writes on gen9+ 2019-01-29 18:43:55 +00:00
brw_fs_cmod_propagation.cpp intel/compiler: Avoid propagating inequality cmods if types are different 2019-02-15 11:11:02 -08:00
brw_fs_combine_constants.cpp intel/compiler: Rearrange code to avoid future problems 2019-01-09 16:42:41 -08:00
brw_fs_copy_propagation.cpp intel/fs: Respect CHV/BXT regioning restrictions in copy propagation pass. 2019-01-09 12:03:08 -08:00
brw_fs_cse.cpp intel/fs: Properly handle 64-bit types in LOAD_PAYLOAD 2019-02-01 16:10:57 -06:00
brw_fs_dead_code_eliminate.cpp intel/compiler: Implement untyped atomic float min, max, and compare-swap dataport messages 2018-08-22 20:31:32 -07:00
brw_fs_generator.cpp intel/fs: Silence a compiler warning 2019-02-14 16:04:47 -06:00
brw_fs_live_variables.cpp intel/fs: Restrict live intervals to the subset possibly reachable from any definition. 2017-12-07 18:27:04 -08:00
brw_fs_live_variables.h intel/fs: Restrict live intervals to the subset possibly reachable from any definition. 2017-12-07 18:27:04 -08:00
brw_fs_lower_pack.cpp
brw_fs_lower_regioning.cpp intel/fs: Exclude control sources from execution type and region alignment calculations. 2019-02-21 14:07:25 -08:00
brw_fs_nir.cpp intel/fs: Bail in optimize_extract_to_float if we have modifiers 2019-02-14 23:02:44 -06:00
brw_fs_reg_allocate.cpp intel/fs: Do the grf127 hack on SIMD8 instructions in SIMD16 mode 2019-02-01 16:11:00 -06:00
brw_fs_register_coalesce.cpp intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
brw_fs_saturate_propagation.cpp i965/fs: Handle negating immediates on MADs when propagating saturates 2017-11-21 10:13:07 -08:00
brw_fs_sel_peephole.cpp intel/compiler: fix register allocation in opt_peephole_sel 2018-11-28 08:28:27 +01:00
brw_fs_surface_builder.cpp intel/compiler: Do image load/store lowering to NIR 2018-08-29 14:04:02 -05:00
brw_fs_surface_builder.h intel/compiler: Do image load/store lowering to NIR 2018-08-29 14:04:02 -05:00
brw_fs_validate.cpp intel: disable FS IR validation in release mode. 2018-10-15 18:10:27 -07:00
brw_fs_visitor.cpp intel/compiler: use 0 as sampler in emit_mcs_fetch 2019-02-08 14:51:56 -08:00
brw_inst.h intel/eu: Add support for the SENDS[C] messages 2019-01-29 18:43:55 +00:00
brw_interpolation_map.c
brw_ir_allocator.h intel/ir: Don't allow allocating zero registers 2018-12-11 21:26:23 -06:00
brw_ir_fs.h intel/fs: Exclude control sources from execution type and region alignment calculations. 2019-02-21 14:07:25 -08:00
brw_ir_vec4.h intel: Don't propagate conditional modifiers if a UD source is negated 2018-10-10 13:13:12 -05:00
brw_nir.c intel/compiler: add scale_factors to sampler_prog_key_data 2019-02-12 08:42:25 +02:00
brw_nir.h intel/compiler: Lower SSBO and shared loads/stores in NIR 2018-11-15 19:59:49 -06:00
brw_nir_analyze_boolean_resolves.c nir: Rename Boolean-related opcodes to include 32 in the name 2018-12-16 21:03:02 +00:00
brw_nir_analyze_ubo_ranges.c intel/analyze_ubo_ranges: Use nir_src_is_const and friends 2018-11-08 10:09:25 -06:00
brw_nir_attribute_workarounds.c i965: Drop support for the legacy SNORM -> Float equation. 2018-01-02 16:51:42 -08:00
brw_nir_lower_cs_intrinsics.c intel,nir: Move gl_LocalInvocationID lowering to nir_lower_system_values 2018-11-19 09:57:41 -06:00
brw_nir_lower_image_load_store.c nir: Move intel's half-float image store lowering to to nir_format.h. 2018-12-13 12:24:26 -08:00
brw_nir_lower_mem_access_bit_sizes.c intel/compiler: Silence warning about value that may be used uninitialized 2019-02-08 10:37:06 -08:00
brw_nir_opt_peephole_ffma.c intel/peephole_ffma: Fix swizzle propagation 2019-01-11 10:44:08 -06:00
brw_nir_tcs_workarounds.c util: use C99 declaration in the for-loop set_foreach() macro 2018-10-25 12:43:18 +01:00
brw_nir_trig_workarounds.py python: Use the print function 2018-07-06 10:04:22 -07:00
brw_packed_float.c
brw_predicated_break.cpp
brw_reg.h intel/compiler: Expand size of the 'nr' field 2019-01-09 16:42:41 -08:00
brw_reg_type.c intel/compiler: Check for unsupported register sizes. 2018-03-16 09:27:16 -07:00
brw_reg_type.h intel/compiler: Add Gen11+ native float type 2018-02-28 11:15:47 -08:00
brw_schedule_instructions.cpp intel/fs: Implement nir_intrinsic_global_atomic_* 2019-02-01 16:11:00 -06:00
brw_shader.cpp intel/fs: Implement nir_intrinsic_global_atomic_* 2019-02-01 16:11:00 -06:00
brw_shader.h intel/fs: Add a generic SEND opcode 2019-01-29 18:43:55 +00:00
brw_vec4.cpp intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
brw_vec4.h intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
brw_vec4_builder.h intel/compiler: Lower flrp32 on Gen11+ 2018-02-28 11:15:47 -08:00
brw_vec4_cmod_propagation.cpp i965/vec4: Propagate conditional modifiers from more compares to other compares 2018-12-17 13:47:06 -08:00
brw_vec4_copy_propagation.cpp i965: Support copy propagating of untyped atomic surface indexes. 2017-09-26 15:35:14 -07:00
brw_vec4_cse.cpp i965/vec4: Allow CSE on subset VF constant loads 2018-03-08 15:26:26 -08:00
brw_vec4_dead_code_eliminate.cpp i965/vec4/dce: Don't narrow the write mask if the flags are used 2018-12-17 13:47:06 -08:00
brw_vec4_generator.cpp i965: Drop mark_surface_used mechanism. 2019-01-13 09:35:32 -08:00
brw_vec4_gs_nir.cpp intel/vec4: Use the new nir_src_is_const and friends 2018-11-08 10:09:25 -06:00
brw_vec4_gs_visitor.cpp intel/compiler: Use nir's info when checking uses_streams. 2018-11-28 13:35:29 -08:00
brw_vec4_gs_visitor.h i965/vec4: Delete the system value infastructure 2017-05-09 15:08:07 -07:00
brw_vec4_live_variables.cpp
brw_vec4_live_variables.h i965/vec4: consider subregister offset in live variables 2017-04-14 14:56:08 -07:00
brw_vec4_nir.cpp intel: Use the NIR lowering for isign. 2019-02-14 00:32:30 +00:00
brw_vec4_reg_allocate.cpp intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
brw_vec4_surface_builder.cpp i965/vec4: Fix swizzles on atomic sources. 2017-09-26 15:35:11 -07:00
brw_vec4_surface_builder.h
brw_vec4_tcs.cpp i965: Do NIR shader cloning in the caller. 2018-11-20 15:53:46 -08:00
brw_vec4_tcs.h i965/vec4: Delete the system value infastructure 2017-05-09 15:08:07 -07:00
brw_vec4_tes.cpp i965/vec4: Clamp indirect tes input array reads with 0x0fffffff 2018-09-01 00:23:45 -07:00
brw_vec4_tes.h i965/vec4: Delete the system value infastructure 2017-05-09 15:08:07 -07:00
brw_vec4_visitor.cpp intel/compiler: use 0 as sampler in emit_mcs_fetch 2019-02-08 14:51:56 -08:00
brw_vec4_vs.h i965: Drop support for the legacy SNORM -> Float equation. 2018-01-02 16:51:42 -08:00
brw_vec4_vs_visitor.cpp i965: Drop support for the legacy SNORM -> Float equation. 2018-01-02 16:51:42 -08:00
brw_vue_map.c
brw_wm_iz.cpp intel/fs: Extend thread payload layout to SIMD32 2018-06-28 13:19:38 -07:00
gen6_gs_visitor.cpp intel/compiler: Prevent warnings in the following patch 2019-01-09 16:42:41 -08:00
gen6_gs_visitor.h
meson.build intel/fs: Remove existing lower_conversions pass. 2019-01-09 12:03:09 -08:00
test_eu_compact.cpp intel/ir: Fix invalid type aliasing with undefined behavior in test_eu_compact. 2018-02-27 11:42:39 -08:00
test_eu_validate.cpp intel: Introducing Whiskey Lake platform 2018-10-11 10:02:40 -07:00
test_fs_cmod_propagation.cpp intel/compiler/test: Add unit test for mismatched signedness comparison 2019-02-15 11:11:02 -08:00
test_fs_copy_propagation.cpp
test_fs_saturate_propagation.cpp i965/fs: Check ADD/MAD with immediates in satprop unit test 2017-11-21 10:13:07 -08:00
test_vec4_cmod_propagation.cpp i965/vec4: Silence unused parameter warnings in vec4 compiler tests 2018-12-17 13:47:06 -08:00
test_vec4_copy_propagation.cpp i965/vec4: Silence unused parameter warnings in vec4 compiler tests 2018-12-17 13:47:06 -08:00
test_vec4_dead_code_eliminate.cpp i965/vec4/dce: Don't narrow the write mask if the flags are used 2018-12-17 13:47:06 -08:00
test_vec4_register_coalesce.cpp i965/vec4: Silence unused parameter warnings in vec4 compiler tests 2018-12-17 13:47:06 -08:00
test_vf_float_conversions.cpp