bc 297 src/HexagonOptimize.cpp { "halide.hexagon.mpy.vub.ub", wild_u16x*bc(wild_u16), Pattern::InterleaveResult | Pattern::NarrowOps }, bc 298 src/HexagonOptimize.cpp { "halide.hexagon.mpy.vub.b", wild_i16x*bc(wild_i16), Pattern::InterleaveResult | Pattern::NarrowUnsignedOp0 | Pattern::NarrowOp1 }, bc 299 src/HexagonOptimize.cpp { "halide.hexagon.mpy.vuh.uh", wild_u32x*bc(wild_u32), Pattern::InterleaveResult | Pattern::NarrowOps }, bc 300 src/HexagonOptimize.cpp { "halide.hexagon.mpy.vh.h", wild_i32x*bc(wild_i32), Pattern::InterleaveResult | Pattern::NarrowOps }, bc 303 src/HexagonOptimize.cpp { "halide.hexagon.shl.vub.ub", wild_u8x*bc(wild_u8), Pattern::ExactLog2Op1 }, bc 304 src/HexagonOptimize.cpp { "halide.hexagon.shl.vuh.uh", wild_u16x*bc(wild_u16), Pattern::ExactLog2Op1 }, bc 305 src/HexagonOptimize.cpp { "halide.hexagon.shl.vuw.uw", wild_u32x*bc(wild_u32), Pattern::ExactLog2Op1 }, bc 306 src/HexagonOptimize.cpp { "halide.hexagon.shl.vb.b", wild_i8x*bc(wild_i8), Pattern::ExactLog2Op1 }, bc 307 src/HexagonOptimize.cpp { "halide.hexagon.shl.vh.h", wild_i16x*bc(wild_i16), Pattern::ExactLog2Op1 }, bc 308 src/HexagonOptimize.cpp { "halide.hexagon.shl.vw.w", wild_i32x*bc(wild_i32), Pattern::ExactLog2Op1 }, bc 311 src/HexagonOptimize.cpp { "halide.hexagon.mul.vh.b", wild_i16x*bc(wild_i16), Pattern::NarrowOp1 }, bc 312 src/HexagonOptimize.cpp { "halide.hexagon.mul.vw.h", wild_i32x*bc(wild_i32), Pattern::NarrowOp1 }, bc 378 src/HexagonOptimize.cpp if (const Broadcast *bc = x.as<Broadcast>()) { bc 379 src/HexagonOptimize.cpp x = bc->value; bc 616 src/HexagonOptimize.cpp { "halide.hexagon.add_mpy.vuh.vub.ub", wild_u16x + wild_u16x*bc(wild_u16), Pattern::ReinterleaveOp0 | Pattern::NarrowOp1 | Pattern::NarrowOp2 }, bc 617 src/HexagonOptimize.cpp { "halide.hexagon.add_mpy.vh.vub.b", wild_i16x + wild_i16x*bc(wild_i16), Pattern::ReinterleaveOp0 | Pattern::NarrowUnsignedOp1 | Pattern::NarrowOp2 }, bc 618 src/HexagonOptimize.cpp { "halide.hexagon.add_mpy.vuw.vuh.uh", wild_u32x + wild_u32x*bc(wild_u32), Pattern::ReinterleaveOp0 | Pattern::NarrowOp1 | Pattern::NarrowOp2 }, bc 619 src/HexagonOptimize.cpp { "halide.hexagon.add_mpy.vuh.vub.ub", wild_u16x + bc(wild_u16)*wild_u16x, Pattern::ReinterleaveOp0 | Pattern::NarrowOp1 | Pattern::NarrowOp2 | Pattern::SwapOps12 }, bc 620 src/HexagonOptimize.cpp { "halide.hexagon.add_mpy.vh.vub.b", wild_i16x + bc(wild_i16)*wild_i16x, Pattern::ReinterleaveOp0 | Pattern::NarrowOp1 | Pattern::NarrowUnsignedOp2 | Pattern::SwapOps12 }, bc 621 src/HexagonOptimize.cpp { "halide.hexagon.add_mpy.vuw.vuh.uh", wild_u32x + bc(wild_u32)*wild_u32x, Pattern::ReinterleaveOp0 | Pattern::NarrowOp1 | Pattern::NarrowOp2 | Pattern::SwapOps12 }, bc 628 src/HexagonOptimize.cpp { "halide.hexagon.satw_add_mpy.vw.vh.h", wild_i32x + wild_i32x*bc(wild_i32), Pattern::ReinterleaveOp0 | Pattern::NarrowOp1 | Pattern::NarrowOp2 }, bc 629 src/HexagonOptimize.cpp { "halide.hexagon.satw_add_mpy.vw.vh.h", wild_i32x + bc(wild_i32)*wild_i32x, Pattern::ReinterleaveOp0 | Pattern::NarrowOp1 | Pattern::NarrowOp2 | Pattern::SwapOps12 }, bc 643 src/HexagonOptimize.cpp { "halide.hexagon.add_shr.vw.vw.w", wild_i32x + (wild_i32x >> bc(wild_i32)) }, bc 644 src/HexagonOptimize.cpp { "halide.hexagon.add_shl.vw.vw.w", wild_i32x + (wild_i32x << bc(wild_i32)) }, bc 645 src/HexagonOptimize.cpp { "halide.hexagon.add_shl.vw.vw.w", wild_u32x + (wild_u32x << bc(wild_u32)) }, bc 646 src/HexagonOptimize.cpp { "halide.hexagon.add_shr.vw.vw.w", wild_i32x + (wild_i32x/bc(wild_i32)), Pattern::ExactLog2Op2 }, bc 647 src/HexagonOptimize.cpp { "halide.hexagon.add_shl.vw.vw.w", wild_i32x + (wild_i32x*bc(wild_i32)), Pattern::ExactLog2Op2 }, bc 648 src/HexagonOptimize.cpp { "halide.hexagon.add_shl.vw.vw.w", wild_u32x + (wild_u32x*bc(wild_u32)), Pattern::ExactLog2Op2 }, bc 649 src/HexagonOptimize.cpp { "halide.hexagon.add_shl.vw.vw.w", wild_i32x + (bc(wild_i32)*wild_i32x), Pattern::ExactLog2Op1 | Pattern::SwapOps12 }, bc 650 src/HexagonOptimize.cpp { "halide.hexagon.add_shl.vw.vw.w", wild_u32x + (bc(wild_u32)*wild_u32x), Pattern::ExactLog2Op1 | Pattern::SwapOps12 }, bc 653 src/HexagonOptimize.cpp { "halide.hexagon.add_mul.vh.vh.b", wild_i16x + wild_i16x*bc(wild_i16), Pattern::NarrowOp2 }, bc 654 src/HexagonOptimize.cpp { "halide.hexagon.add_mul.vw.vw.h", wild_i32x + wild_i32x*bc(wild_i32), Pattern::NarrowOp2 }, bc 655 src/HexagonOptimize.cpp { "halide.hexagon.add_mul.vh.vh.b", wild_i16x + bc(wild_i16)*wild_i16x, Pattern::NarrowOp1 | Pattern::SwapOps12 }, bc 656 src/HexagonOptimize.cpp { "halide.hexagon.add_mul.vw.vw.h", wild_i32x + bc(wild_i32)*wild_i32x, Pattern::NarrowOp1 | Pattern::SwapOps12 }, bc 761 src/HexagonOptimize.cpp { "halide.hexagon.trunc_satw_mpy2.vh.h", i16_sat((wild_i32x*bc(wild_i32))/32768), Pattern::NarrowOps }, bc 762 src/HexagonOptimize.cpp { "halide.hexagon.trunc_satw_mpy2.vh.h", i16_sat((bc(wild_i32)*wild_i32x)/32768), Pattern::NarrowOps | Pattern::SwapOps01 }, bc 763 src/HexagonOptimize.cpp { "halide.hexagon.trunc_satw_mpy2_rnd.vh.h", i16_sat((wild_i32x*bc(wild_i32) + 16384)/32768), Pattern::NarrowOps }, bc 764 src/HexagonOptimize.cpp { "halide.hexagon.trunc_satw_mpy2_rnd.vh.h", i16_sat((bc(wild_i32)*wild_i32x + 16384)/32768), Pattern::NarrowOps | Pattern::SwapOps01 }, bc 83 tools/halide_image_io.h inline bool ends_with_ignore_case(const std::string &ac, const std::string &bc) { bc 84 tools/halide_image_io.h if (ac.length() < bc.length()) { return false; } bc 85 tools/halide_image_io.h std::string a = ac, b = bc;