| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| ; RUN: opt -passes=instcombine -S %s | FileCheck %s |
| |
| define i8 @foo(<vscale x 1 x i8> %x, i64 %idx) { |
| ; CHECK-LABEL: @foo( |
| ; CHECK-NEXT: [[A:%.*]] = alloca <vscale x 1 x i8>, align 1 |
| ; CHECK-NEXT: store <vscale x 1 x i8> [[X:%.*]], ptr [[A]], align 1 |
| ; CHECK-NEXT: [[B:%.*]] = getelementptr i8, ptr [[A]], i64 [[IDX:%.*]] |
| ; CHECK-NEXT: [[C:%.*]] = load i8, ptr [[B]], align 1 |
| ; CHECK-NEXT: ret i8 [[C]] |
| ; |
| %a = alloca <vscale x 1 x i8> |
| store <vscale x 1 x i8> %x, ptr %a |
| %b = getelementptr i8, ptr %a, i64 %idx |
| %c = load i8, ptr %b |
| ret i8 %c |
| } |