; RUN: llc -O2 -march=hexagon < %s | FileCheck %s
; CHECK: ParseFunc:
; CHECK: r[[ARG0:[0-9]+]] = memuh(r[[ARG1:[0-9]+]]+#[[OFFSET:[0-9]+]])
; CHECK: memw(r[[ARG1]]+#[[OFFSET]]) = r[[ARG0]]

@.str.3 = external unnamed_addr constant [8 x i8], align 1
; Function Attrs: nounwind
define void @ParseFunc() local_unnamed_addr #0 {
entry:
  %dataVar = alloca i32, align 4
  %0 = load i32, i32* %dataVar, align 4
  %and = and i32 %0, 65535
  store i32 %and, i32* %dataVar, align 4
  %.pr = load i32, i32* %dataVar, align 4
  switch i32 %.pr, label %sw.epilog [
    i32 4, label %sw.bb
    i32 5, label %sw.bb
    i32 1, label %sw.bb39
    i32 2, label %sw.bb40
    i32 3, label %sw.bb41
    i32 6, label %sw.bb42
    i32 7, label %sw.bb43
    i32 13, label %sw.bb44
    i32 0, label %sw.bb44
    i32 14, label %sw.bb45
    i32 15, label %sw.bb46
  ]

sw.bb:
  %cmp1.i = icmp eq i32 %.pr, 4
  br label %land.rhs.i

land.rhs.i:
  br label %ParseFuncNext.exit.i

ParseFuncNext.exit.i:
  br i1 %cmp1.i, label %if.then.i, label %if.else10.i

if.then.i:
  call void (i8*, i32, i8*, ...) @snprintf(i8* undef, i32 undef, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.3, i32 0, i32 0), i32 undef) #2
  br label %if.end27.i

if.else10.i:
  unreachable

if.end27.i:
  br label %land.rhs.i

sw.bb39:
  unreachable

sw.bb40:
  unreachable

sw.bb41:
  unreachable

sw.bb42:
  %1 = load i32, i32* undef, align 4
  %shr.i = lshr i32 %1, 16
  br label %while.cond.i.i

while.cond.i.i:
  %2 = load i8, i8* undef, align 1
  switch i8 %2, label %if.then4.i [
    i8 48, label %land.end.i.i
    i8 120, label %land.end.i.i
    i8 37, label %do.body.i.i
  ]

land.end.i.i:
  unreachable

do.body.i.i:
  switch i8 undef, label %if.then4.i [
    i8 117, label %if.end40.i.i
    i8 120, label %if.end40.i.i
    i8 88, label %if.end40.i.i
    i8 100, label %if.end40.i.i
    i8 105, label %if.end40.i.i
  ]

if.end40.i.i:
  %trunc.i = trunc i32 %shr.i to i16
  br label %land.rhs.i126

if.then4.i:
  unreachable

land.rhs.i126:
  switch i16 %trunc.i, label %sw.epilog.i [
    i16 1, label %sw.bb.i
    i16 2, label %sw.bb12.i
    i16 4, label %sw.bb16.i
  ]

sw.bb.i:
  unreachable

sw.bb12.i:
  unreachable

sw.bb16.i:
  unreachable

sw.epilog.i:
  call void (i8*, i32, i8*, ...) @snprintf(i8* undef, i32 undef, i8* nonnull undef, i32 undef) #2
  br label %land.rhs.i126

sw.bb43:
  unreachable

sw.bb44:
  unreachable

sw.bb45:
  unreachable

sw.bb46:
  unreachable

sw.epilog:
  ret void
}

; Function Attrs: nounwind
declare void @snprintf(i8* nocapture, i32, i8* nocapture readonly, ...) local_unnamed_addr #1

attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="8" "target-features"="+hvx" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="8" "target-features"="+hvx" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #2 = { nounwind }
