xref: /llvm-project/llvm/test/Transforms/Reassociate/propagate-flags.ll (revision 211cf8a384ebb29787367c8fd5858e2a5ed3c10f)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt < %s -passes=reassociate -S | FileCheck %s
3
4define double @func(double %a, double %b) {
5; CHECK-LABEL: @func(
6; CHECK-NEXT:    [[TMP1:%.*]] = fmul fast double [[B:%.*]], [[A:%.*]]
7; CHECK-NEXT:    [[TMP2:%.*]] = fmul fast double [[TMP1]], [[TMP1]]
8; CHECK-NEXT:    ret double [[TMP2]]
9;
10  %mul1 = fmul fast double %a, %a
11  %mul2 = fmul fast double %b, %b
12  %mul3 = fmul fast double %mul1, %mul2
13  ret double %mul3
14}
15