aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Transforms/VectorCombine/pr157335.ll
blob: 57eb1362d89950db829189012e6442a85a2681ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes=vector-combine -S %s | FileCheck %s

define <2 x double> @PR157335() {
; CHECK-LABEL: @PR157335(
; CHECK-NEXT:    [[V0:%.*]] = fmul <2 x double> zeroinitializer, zeroinitializer
; CHECK-NEXT:    [[V1:%.*]] = fmul <2 x double> zeroinitializer, zeroinitializer
; CHECK-NEXT:    [[V2:%.*]] = fsub <2 x double> [[V0]], [[V1]]
; CHECK-NEXT:    [[V3:%.*]] = fadd <2 x double> [[V0]], [[V1]]
; CHECK-NEXT:    [[V4:%.*]] = shufflevector <2 x double> [[V2]], <2 x double> [[V3]], <2 x i32> <i32 0, i32 3>
; CHECK-NEXT:    ret <2 x double> [[V4]]
;
  %v0 = fmul <2 x double> zeroinitializer, zeroinitializer
  %v1 = fmul <2 x double> zeroinitializer, zeroinitializer
  %v2 = fsub <2 x double> %v0, %v1
  %v3 = fadd <2 x double> %v0, %v1
  %v4 = shufflevector <2 x double> %v2, <2 x double> %v3, <2 x i32> <i32 0, i32 3>
  ret <2 x double> %v4
}