diff --git a/src/test/ui/if-bot.rs b/src/test/ui/expr/if-bot.rs
similarity index 100%
rename from src/test/ui/if-bot.rs
rename to src/test/ui/expr/if-bot.rs
diff --git a/src/test/ui/if-attrs/bad-cfg.rs b/src/test/ui/expr/if/attrs/bad-cfg.rs
similarity index 100%
rename from src/test/ui/if-attrs/bad-cfg.rs
rename to src/test/ui/expr/if/attrs/bad-cfg.rs
diff --git a/src/test/ui/if-attrs/bad-cfg.stderr b/src/test/ui/expr/if/attrs/bad-cfg.stderr
similarity index 100%
rename from src/test/ui/if-attrs/bad-cfg.stderr
rename to src/test/ui/expr/if/attrs/bad-cfg.stderr
diff --git a/src/test/ui/if-attrs/builtin-if-attr.rs b/src/test/ui/expr/if/attrs/builtin-if-attr.rs
similarity index 100%
rename from src/test/ui/if-attrs/builtin-if-attr.rs
rename to src/test/ui/expr/if/attrs/builtin-if-attr.rs
diff --git a/src/test/ui/if-attrs/cfg-false-if-attr.rs b/src/test/ui/expr/if/attrs/cfg-false-if-attr.rs
similarity index 100%
rename from src/test/ui/if-attrs/cfg-false-if-attr.rs
rename to src/test/ui/expr/if/attrs/cfg-false-if-attr.rs
diff --git a/src/test/ui/if-attrs/else-attrs.rs b/src/test/ui/expr/if/attrs/else-attrs.rs
similarity index 100%
rename from src/test/ui/if-attrs/else-attrs.rs
rename to src/test/ui/expr/if/attrs/else-attrs.rs
diff --git a/src/test/ui/if-attrs/else-attrs.stderr b/src/test/ui/expr/if/attrs/else-attrs.stderr
similarity index 100%
rename from src/test/ui/if-attrs/else-attrs.stderr
rename to src/test/ui/expr/if/attrs/else-attrs.stderr
diff --git a/src/test/ui/if-attrs/gate-whole-expr.rs b/src/test/ui/expr/if/attrs/gate-whole-expr.rs
similarity index 100%
rename from src/test/ui/if-attrs/gate-whole-expr.rs
rename to src/test/ui/expr/if/attrs/gate-whole-expr.rs
diff --git a/src/test/ui/if-attrs/let-chains-attr.rs b/src/test/ui/expr/if/attrs/let-chains-attr.rs
similarity index 100%
rename from src/test/ui/if-attrs/let-chains-attr.rs
rename to src/test/ui/expr/if/attrs/let-chains-attr.rs
diff --git a/src/test/ui/if-attrs/let-chains-attr.stderr b/src/test/ui/expr/if/attrs/let-chains-attr.stderr
similarity index 100%
rename from src/test/ui/if-attrs/let-chains-attr.stderr
rename to src/test/ui/expr/if/attrs/let-chains-attr.stderr
diff --git a/src/test/ui/if-attrs/stmt-expr-gated.rs b/src/test/ui/expr/if/attrs/stmt-expr-gated.rs
similarity index 100%
rename from src/test/ui/if-attrs/stmt-expr-gated.rs
rename to src/test/ui/expr/if/attrs/stmt-expr-gated.rs
diff --git a/src/test/ui/if-attrs/stmt-expr-gated.stderr b/src/test/ui/expr/if/attrs/stmt-expr-gated.stderr
similarity index 100%
rename from src/test/ui/if-attrs/stmt-expr-gated.stderr
rename to src/test/ui/expr/if/attrs/stmt-expr-gated.stderr
diff --git a/src/test/ui/if/expr-if-panic-fn.rs b/src/test/ui/expr/if/expr-if-panic-fn.rs
similarity index 100%
rename from src/test/ui/if/expr-if-panic-fn.rs
rename to src/test/ui/expr/if/expr-if-panic-fn.rs
diff --git a/src/test/ui/if/expr-if-panic.rs b/src/test/ui/expr/if/expr-if-panic.rs
similarity index 100%
rename from src/test/ui/if/expr-if-panic.rs
rename to src/test/ui/expr/if/expr-if-panic.rs
diff --git a/src/test/ui/if/if-branch-types.rs b/src/test/ui/expr/if/if-branch-types.rs
similarity index 100%
rename from src/test/ui/if/if-branch-types.rs
rename to src/test/ui/expr/if/if-branch-types.rs
diff --git a/src/test/ui/if/if-branch-types.stderr b/src/test/ui/expr/if/if-branch-types.stderr
similarity index 100%
rename from src/test/ui/if/if-branch-types.stderr
rename to src/test/ui/expr/if/if-branch-types.stderr
diff --git a/src/test/ui/if/if-check-panic.rs b/src/test/ui/expr/if/if-check-panic.rs
similarity index 100%
rename from src/test/ui/if/if-check-panic.rs
rename to src/test/ui/expr/if/if-check-panic.rs
diff --git a/src/test/ui/if-check.rs b/src/test/ui/expr/if/if-check.rs
similarity index 100%
rename from src/test/ui/if-check.rs
rename to src/test/ui/expr/if/if-check.rs
diff --git a/src/test/ui/if/if-cond-bot.rs b/src/test/ui/expr/if/if-cond-bot.rs
similarity index 100%
rename from src/test/ui/if/if-cond-bot.rs
rename to src/test/ui/expr/if/if-cond-bot.rs
diff --git a/src/test/ui/if-else-type-mismatch.rs b/src/test/ui/expr/if/if-else-type-mismatch.rs
similarity index 100%
rename from src/test/ui/if-else-type-mismatch.rs
rename to src/test/ui/expr/if/if-else-type-mismatch.rs
diff --git a/src/test/ui/if-else-type-mismatch.stderr b/src/test/ui/expr/if/if-else-type-mismatch.stderr
similarity index 100%
rename from src/test/ui/if-else-type-mismatch.stderr
rename to src/test/ui/expr/if/if-else-type-mismatch.stderr
diff --git a/src/test/ui/if/if-let-arm-types.rs b/src/test/ui/expr/if/if-let-arm-types.rs
similarity index 100%
rename from src/test/ui/if/if-let-arm-types.rs
rename to src/test/ui/expr/if/if-let-arm-types.rs
diff --git a/src/test/ui/if/if-let-arm-types.stderr b/src/test/ui/expr/if/if-let-arm-types.stderr
similarity index 100%
rename from src/test/ui/if/if-let-arm-types.stderr
rename to src/test/ui/expr/if/if-let-arm-types.stderr
diff --git a/src/test/ui/if/if-let.rs b/src/test/ui/expr/if/if-let.rs
similarity index 100%
rename from src/test/ui/if/if-let.rs
rename to src/test/ui/expr/if/if-let.rs
diff --git a/src/test/ui/if/if-let.stderr b/src/test/ui/expr/if/if-let.stderr
similarity index 100%
rename from src/test/ui/if/if-let.stderr
rename to src/test/ui/expr/if/if-let.stderr
diff --git a/src/test/ui/if/if-loop.rs b/src/test/ui/expr/if/if-loop.rs
similarity index 100%
rename from src/test/ui/if/if-loop.rs
rename to src/test/ui/expr/if/if-loop.rs
diff --git a/src/test/ui/if/if-no-match-bindings.rs b/src/test/ui/expr/if/if-no-match-bindings.rs
similarity index 100%
rename from src/test/ui/if/if-no-match-bindings.rs
rename to src/test/ui/expr/if/if-no-match-bindings.rs
diff --git a/src/test/ui/if/if-no-match-bindings.stderr b/src/test/ui/expr/if/if-no-match-bindings.stderr
similarity index 100%
rename from src/test/ui/if/if-no-match-bindings.stderr
rename to src/test/ui/expr/if/if-no-match-bindings.stderr
diff --git a/src/test/ui/if-ret.rs b/src/test/ui/expr/if/if-ret.rs
similarity index 100%
rename from src/test/ui/if-ret.rs
rename to src/test/ui/expr/if/if-ret.rs
diff --git a/src/test/ui/if-ret.stderr b/src/test/ui/expr/if/if-ret.stderr
similarity index 100%
rename from src/test/ui/if-ret.stderr
rename to src/test/ui/expr/if/if-ret.stderr
diff --git a/src/test/ui/if/if-typeck.rs b/src/test/ui/expr/if/if-typeck.rs
similarity index 100%
rename from src/test/ui/if/if-typeck.rs
rename to src/test/ui/expr/if/if-typeck.rs
diff --git a/src/test/ui/if/if-typeck.stderr b/src/test/ui/expr/if/if-typeck.stderr
similarity index 100%
rename from src/test/ui/if/if-typeck.stderr
rename to src/test/ui/expr/if/if-typeck.stderr
diff --git a/src/test/ui/if/if-without-block.rs b/src/test/ui/expr/if/if-without-block.rs
similarity index 100%
rename from src/test/ui/if/if-without-block.rs
rename to src/test/ui/expr/if/if-without-block.rs
diff --git a/src/test/ui/if/if-without-block.stderr b/src/test/ui/expr/if/if-without-block.stderr
similarity index 100%
rename from src/test/ui/if/if-without-block.stderr
rename to src/test/ui/expr/if/if-without-block.stderr
diff --git a/src/test/ui/if/if-without-else-as-fn-expr.rs b/src/test/ui/expr/if/if-without-else-as-fn-expr.rs
similarity index 100%
rename from src/test/ui/if/if-without-else-as-fn-expr.rs
rename to src/test/ui/expr/if/if-without-else-as-fn-expr.rs
diff --git a/src/test/ui/if/if-without-else-as-fn-expr.stderr b/src/test/ui/expr/if/if-without-else-as-fn-expr.stderr
similarity index 100%
rename from src/test/ui/if/if-without-else-as-fn-expr.stderr
rename to src/test/ui/expr/if/if-without-else-as-fn-expr.stderr
diff --git a/src/test/ui/if/if-without-else-result.rs b/src/test/ui/expr/if/if-without-else-result.rs
similarity index 100%
rename from src/test/ui/if/if-without-else-result.rs
rename to src/test/ui/expr/if/if-without-else-result.rs
diff --git a/src/test/ui/if/if-without-else-result.stderr b/src/test/ui/expr/if/if-without-else-result.stderr
similarity index 100%
rename from src/test/ui/if/if-without-else-result.stderr
rename to src/test/ui/expr/if/if-without-else-result.stderr
diff --git a/src/test/ui/if/ifmt-bad-arg.rs b/src/test/ui/expr/if/ifmt-bad-arg.rs
similarity index 100%
rename from src/test/ui/if/ifmt-bad-arg.rs
rename to src/test/ui/expr/if/ifmt-bad-arg.rs
diff --git a/src/test/ui/if/ifmt-bad-arg.stderr b/src/test/ui/expr/if/ifmt-bad-arg.stderr
similarity index 100%
rename from src/test/ui/if/ifmt-bad-arg.stderr
rename to src/test/ui/expr/if/ifmt-bad-arg.stderr
diff --git a/src/test/ui/if/ifmt-bad-format-args.rs b/src/test/ui/expr/if/ifmt-bad-format-args.rs
similarity index 100%
rename from src/test/ui/if/ifmt-bad-format-args.rs
rename to src/test/ui/expr/if/ifmt-bad-format-args.rs
diff --git a/src/test/ui/if/ifmt-bad-format-args.stderr b/src/test/ui/expr/if/ifmt-bad-format-args.stderr
similarity index 100%
rename from src/test/ui/if/ifmt-bad-format-args.stderr
rename to src/test/ui/expr/if/ifmt-bad-format-args.stderr
diff --git a/src/test/ui/if/ifmt-unimpl.rs b/src/test/ui/expr/if/ifmt-unimpl.rs
similarity index 100%
rename from src/test/ui/if/ifmt-unimpl.rs
rename to src/test/ui/expr/if/ifmt-unimpl.rs
diff --git a/src/test/ui/if/ifmt-unimpl.stderr b/src/test/ui/expr/if/ifmt-unimpl.stderr
similarity index 100%
rename from src/test/ui/if/ifmt-unimpl.stderr
rename to src/test/ui/expr/if/ifmt-unimpl.stderr
diff --git a/src/test/ui/if/ifmt-unknown-trait.rs b/src/test/ui/expr/if/ifmt-unknown-trait.rs
similarity index 100%
rename from src/test/ui/if/ifmt-unknown-trait.rs
rename to src/test/ui/expr/if/ifmt-unknown-trait.rs
diff --git a/src/test/ui/if/ifmt-unknown-trait.stderr b/src/test/ui/expr/if/ifmt-unknown-trait.stderr
similarity index 100%
rename from src/test/ui/if/ifmt-unknown-trait.stderr
rename to src/test/ui/expr/if/ifmt-unknown-trait.stderr