Bug 50312 - [r600g+llvm] Piglit failures with "EE r600_asm.c:119 r600_bytecode_get_num_operands - Need instruction operand number for 0x77."
Summary: [r600g+llvm] Piglit failures with "EE r600_asm.c:119 r600_bytecode_get_num_op...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: x86-64 (AMD64) All
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2012-05-24 09:13 UTC by Kai
Modified: 2012-06-03 11:17 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
[PATCH] radeon/llvm: fix opcode for RECIP_UINT_r600 (912 bytes, patch)
2012-05-24 11:00 UTC, Vadim Girlin
Details | Splinter Review

Description Kai 2012-05-24 09:13:51 UTC
I've just compiled r600g with the LLVM shader compiler and the Piglit results look similar to the recent run without LLVM backend (2012-05-20/Git: 239792fb) except that a ton of GLSL 1.10 and 1.30 tests now fail with:
> EE r600_asm.c:119 r600_bytecode_get_num_operands - Need instruction operand number for 0x77.

The tests failing with the previous error are:
spec/glsl-1.10/execution/built-in-functions/fs-op-div-int-int
spec/glsl-1.10/execution/built-in-functions/fs-op-div-int-ivec2
spec/glsl-1.10/execution/built-in-functions/fs-op-div-int-ivec3 (warning only)
spec/glsl-1.10/execution/built-in-functions/fs-op-div-int-ivec4 (warning only)
spec/glsl-1.10/execution/built-in-functions/fs-op-div-ivec2-int
spec/glsl-1.10/execution/built-in-functions/fs-op-div-ivec2-ivec2 (warning only)
spec/glsl-1.10/execution/built-in-functions/fs-op-div-ivec3-int
spec/glsl-1.10/execution/built-in-functions/fs-op-div-ivec3-ivec3 (warning only)
spec/glsl-1.10/execution/built-in-functions/fs-op-div-ivec4-int
spec/glsl-1.10/execution/built-in-functions/fs-op-div-ivec4-ivec4 (warning only)
spec/glsl-1.10/execution/built-in-functions/vs-op-div-int-int
spec/glsl-1.10/execution/built-in-functions/vs-op-div-int-ivec2
spec/glsl-1.10/execution/built-in-functions/vs-op-div-int-ivec3 (warning only)
spec/glsl-1.10/execution/built-in-functions/vs-op-div-int-ivec4 (warning only)
spec/glsl-1.10/execution/built-in-functions/vs-op-div-ivec2-int
spec/glsl-1.10/execution/built-in-functions/vs-op-div-ivec2-ivec2 (warning only)
spec/glsl-1.10/execution/built-in-functions/vs-op-div-ivec3-int
spec/glsl-1.10/execution/built-in-functions/vs-op-div-ivec3-ivec3 (warning only)
spec/glsl-1.10/execution/built-in-functions/vs-op-div-ivec4-int
spec/glsl-1.10/execution/built-in-functions/vs-op-div-ivec4-ivec4 (warning only)
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-int-int
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-int-ivec2
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-int-ivec3 (warning only)
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-int-ivec4 (warning only)
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-ivec2-int
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-ivec2-ivec2 (warning only)
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-ivec3-int
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-ivec3-ivec3 (warning only)
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-ivec4-int
spec/glsl-1.30/execution/built-in-functions/fs-op-mod-ivec4-ivec4 (warning only)
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-int-int
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-int-ivec2
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-int-ivec3 (warning only)
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-int-ivec4 (warning only)
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-ivec2-int
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-ivec2-ivec2 (warning only)
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-ivec3-int
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-ivec3-ivec3 (warning only)
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-ivec4-int
spec/glsl-1.30/execution/built-in-functions/vs-op-mod-ivec4-ivec4 (warning only)

Stack:
Kernel: 3.4
libdrm: 2.4.33-1
Mesa: Git/0f6a3a7d
X.org: 1.12.1-2
LLVM: 3.1-1

Hardware: 0x9553
Comment 1 Kai 2012-05-24 10:44:02 UTC
Applying attachment 62060 [details] [review] fixes this bug though all tests that weren't just warnings are still failing, but the output for the failure is different. And those test worked with a non-LLVM backend build of git/239792fb. Still that is probably a different bug?
Comment 2 Vadim Girlin 2012-05-24 11:00:37 UTC
Created attachment 62064 [details] [review]
[PATCH] radeon/llvm: fix opcode for RECIP_UINT_r600

Does this patch help?
Comment 3 Kai 2012-05-24 11:44:58 UTC
(In reply to comment #2)
> [PATCH] radeon/llvm: fix opcode for RECIP_UINT_r600
> 
> Does this patch help?

Yes!

You can have a "Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>" for both patches (attachment 62060 [details] [review] and attachment 62064 [details] [review]).
Comment 4 Tom Stellard 2012-06-03 11:17:48 UTC
Fixed in git commit 029776753b69dc6054cabd8c2cc07c981ab20616


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.