Is he manipulating me?

My boyfriend is charming. He spoils me, shows me endless attention. Hes been good to me... or has he? When we get into arguments which is a lot , he calls me names... idiot, stupid, bitch, pussy. Is this EVER okay? I can definitely be a bitch , but if my world isn’t revolving around him he tells me how I’m failing. If I go to sleep while he’s outside working on his car and I don’t tell him good night first I’m failing. If I’m not texting or calling 24/7 I’m failing. One day he tells me how he’s never had someone as amazing than me , then others when he thinks I’m being distant I’m a failure. He does a lot for me but is this any reason to treat me this way????