Matt Arsenault | 5e740db | 2015-06-03 20:04:05 +0000 | [diff] [blame] | 1 | ; RUN: opt -mtriple=amdgcn-- -codegenprepare -S < %s | FileCheck -check-prefix=OPT %s |
| 2 | ; RUN: llc -march=amdgcn -mcpu=verde -verify-machineinstrs < %s | FileCheck -check-prefix=SI-LLC %s |
Tom Stellard | 728d417 | 2014-02-14 21:10:34 +0000 | [diff] [blame] | 3 | |
Matt Arsenault | 5e740db | 2015-06-03 20:04:05 +0000 | [diff] [blame] | 4 | ; OPT-LABEL: @test( |
Quentin Colombet | 1627a41 | 2014-02-22 01:06:41 +0000 | [diff] [blame] | 5 | ; OPT: mul nsw i32 |
| 6 | ; OPT-NEXT: sext |
Matt Arsenault | 5e740db | 2015-06-03 20:04:05 +0000 | [diff] [blame] | 7 | |
Tom Stellard | 79243d9 | 2014-10-01 17:15:17 +0000 | [diff] [blame] | 8 | ; SI-LLC-LABEL: {{^}}test: |
Tom Stellard | 326d6ec | 2014-11-05 14:50:53 +0000 | [diff] [blame] | 9 | ; SI-LLC: s_mul_i32 |
| 10 | ; SI-LLC-NOT: mul |
Tom Stellard | 728d417 | 2014-02-14 21:10:34 +0000 | [diff] [blame] | 11 | define void @test(i8 addrspace(1)* nocapture readonly %in, i32 %a, i8 %b) { |
| 12 | entry: |
| 13 | %0 = mul nsw i32 %a, 3 |
| 14 | %1 = sext i32 %0 to i64 |
David Blaikie | 79e6c74 | 2015-02-27 19:29:02 +0000 | [diff] [blame] | 15 | %2 = getelementptr i8, i8 addrspace(1)* %in, i64 %1 |
Tom Stellard | 728d417 | 2014-02-14 21:10:34 +0000 | [diff] [blame] | 16 | store i8 %b, i8 addrspace(1)* %2 |
| 17 | ret void |
| 18 | } |