HLSL: Fix #802: Preserve promoted child under ! operator.
diff --git a/Test/hlsl.logicalConvert.frag b/Test/hlsl.logicalConvert.frag
new file mode 100755
index 0000000..2977206
--- /dev/null
+++ b/Test/hlsl.logicalConvert.frag
@@ -0,0 +1,15 @@
+float4 main() : SV_TARGET
+{
+ if (!(0) && (0) || (!1))
+ return 0.0.xxxx;
+ if (0)
+ return 0.0.xxxx;
+ if (!(bool)0)
+ return 0.0.xxxx;
+ if (!0)
+ return 0.0.xxxx;
+ if (!(bool)1)
+ return 0.0.xxxx;
+ if (!1)
+ return 0.0.xxxx;
+}
\ No newline at end of file